WordPree下如何把文章中的第一个图像自动设置特色图像

介绍

如果您是 WordPress 中的编辑者,您可能会发现,大多数时候,您只是将帖子的第一个图像设置为特色图片。这里有一种快速而方便的方法,可帮助您跳过繁琐的工作并节省一些劳动力。

最简单的方法是安装Samuel AguileraEasy Add Thumbnail插件。

只需安装,激活它,再次发布,修改时会自动设置特色图像。

Gn WordPress Plugin Easy Add Thumbnail

激活后,如果您的文章尚未显示特色图片,此插件将自动把文章的特色图像设置为文章内容中的第一个图像。

如果要选择自己的特色图像,它将保持特色图像不变,并显示您的选择。

其工作原理

让我们来看看插件的代码,这是非常简单的。笔者是直接将下面代码放在 functions.php 下,完美运行(不需要另外安装插件)。

隐藏内容,回复可见“回复本文”后“刷新页面”查看隐藏内容!
if ( function_exists( 'add_theme_support' ) ) {

    add_theme_support( 'post-thumbnails' ); // This should be in your theme. But we add this here because this way we can have featured images before swicth to a theme that supports them.

    function easy_add_thumbnail($post) {

        $already_has_thumb = has_post_thumbnail();
        $post_type = get_post_type( $post->ID );
        $exclude_types = array('');
        $exclude_types = apply_filters( 'eat_exclude_types', $exclude_types );

        // do nothing if the post has already a featured image set
        if ( $already_has_thumb ) {
            return;
        }

        // do the job if the post is not from an excluded type
        if ( ! in_array( $post_type, $exclude_types ) ) {
            // get first attached image
            $attached_image = get_children( "order=ASC&post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );

            if ( $attached_image ) {
                $attachment_values = array_values( $attached_image );
                // add attachment ID
                add_post_meta( $post->ID, '_thumbnail_id', $attachment_values[0]->ID, true );
            }
        }
    }

    // set featured image before post is displayed (for old posts)
    add_action('the_post', 'easy_add_thumbnail');

    // hooks added to set the thumbnail when publishing too
    add_action('new_to_publish', 'easy_add_thumbnail');
    add_action('draft_to_publish', 'easy_add_thumbnail');
    add_action('pending_to_publish', 'easy_add_thumbnail');
    add_action('future_to_publish', 'easy_add_thumbnail');
}

此代码的作用是,它创建了一个名为easy_add_thumbnail 的函数,该函数检查是否为您的文章设置了特色图像,然后,如果尚未设置特色图像,它将扫描文章中的图像,并将其中一个指定为特色图像。

如果不想安装该插件,只需将此代码段添加到主题的functions.php 文件。

发表评论

seventy one − = sixty eight