首页 > CMS应用 > 正文
WordPress自动获取文章第一张图片作为特色图片

许多国外主题都比较学会使用wordpress默认的特色图片功能,但是作为一个懒人,每一次需要手动去设置特色图片真的很烦,所以但凡是我自己折腾的主题一般都会默认抓取文章的第一张图片为缩略图,然后在加一个缩略图处理的小程序,这个方法提供给依然需要使用wordpress特色图片功能的人,将以下代码添加到你当前主题的functions.php文件中即可。

//WordPress自动获取文章第一张图片作为特色图片
function junzibuqi_autoset_featured() {
    global $post;
    if(junzibuqi_get_theme_option('settings_get_img_open')){
        $already_has_thumb = has_post_thumbnail($post->ID);
        // 判断是否已设置特色图片,若是不存在则获取第一张图片
        if (!$already_has_thumb)  {
            // 获取对应文章ID的图片附件
            $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
            // 判断文章对应的图片附件是否存在
            if ($attached_image) {
                foreach ($attached_image as $attachment_id => $attachment) {
                    // 设置特色图像
                    set_post_thumbnail($post->ID, $attachment_id);
                }
            }
        }
    }
}
add_action('the_post', 'junzibuqi_autoset_featured');
add_action('save_post', 'junzibuqi_autoset_featured');
add_action('draft_to_publish', 'junzibuqi_autoset_featured');
add_action('new_to_publish', 'junzibuqi_autoset_featured');
add_action('pending_to_publish', 'junzibuqi_autoset_featured');
add_action('future_to_publish', 'junzibuqi_autoset_featured');

文章评论

共有 0 条评论

    Top