如何为1500条帖子选择特色图片?

时间:2013-01-09 作者:Cecily

我从Tumblr导入了1500多个帖子。当图像导入到库中时,我需要确保每个图像都有一个特色图像。我如何使图像(每个帖子12个减去30个没有图像的)自动成为特色图像?

1 个回复
最合适的回答,由SO网友:Chris_O 整理而成

您可以运行一个脚本,该脚本将以编程方式为每篇文章设置特色图像。您可以使用第一个附加图像进行此操作。要获取附加的图像,请对帖子进行查询并循环浏览每个帖子,然后使用get_children() 将post\\u父项设置为循环中的当前post id。

$posts = get_posts( array( \'posts_per_page\' => -1 ));

foreach ( $posts as $post ) {

   $featured = wpse_get_attachments( $post->ID );
   foreach( $featured as $attachment ) {
     $img = set_post_thumbnail( $post->ID, $attachment[\'ID\'] );
   }
   if ( $img )
       echo \'Featured image set for \'. $post->ID; 
}
/**
 * Queries for attached images and returns first.
 *
 * @param int $post_id The post id to check if attachments exist
 * @return array|bool The 1st attached on success false if no attachments
 */
function wpse_get_attachments( $post_id ) {
    return get_children( array(
            \'post_parent\'    => $post_id,
            \'post_type\'      => \'attachment\',
            \'post_mime_type\' => \'image\',
            \'posts_per_page\' => (int)1
        ), ARRAY_A
    );
}
您需要将此代码放在可以像自定义页面模板一样执行的地方,只需加载一次即可设置特色图像。

您还可以使用我编写的插件,该插件将通过ajax的管理工具页面实现这一点。http://wordpress.org/extend/plugins/media-tools/

结束

相关推荐

Re-process Images

我有a blog 它拥有嵌入帖子中的所有图像的最高分辨率版本,而不是链接到图像附件页的缩略图。您能告诉我如何重新处理所有嵌入的图像,以便将它们输出为缩小尺寸的缩略图,链接到自己的附件页(这是WordPress的默认设置)吗?我认为我可以让Regenerate Thumbnails 这个插件?