WordPress自动将第一张图片设置为特色图的方法(插件+代码两种方案)

WordPress自动将第一张图片设置为特色图的方法(插件+代码两种方案)

在WordPress中,特色图片(即文章缩略图)经常用来做列表展示、文章推荐等视觉元素。如果你的站点有大量文章,逐篇手动指定特色图片会非常繁琐。多数情况下,我们只需要让系统自动将文章中的第一张图片设置为特色图即可。

如果主题没有自带该功能,可以通过以下两种方式实现:

  • 方式一:使用插件(推荐新手)
  • 方式二:添加代码(适合有一定动手能力的用户)

方法一:使用插件 — Easy Add Thumbnail

插件信息

  • 插件名:Easy Add Thumbnail
  • 版本:1.1.3
  • 最后更新:9个月前
  • 活跃安装量:10,000+
  • 要求:WordPress 4.7+,兼容到5.9.5;PHP 5.6+

特点与原理

  • 插件无需额外设置,只要安装并激活即可生效。
  • 它会自动提取文章中的第一张图片附件ID,并写入到WordPress的_thumbnail_id字段,等同于你手动设置特色图。
  • 不会在数据库中写入额外数据,也不会修改或删除已有图片。
  • 停用插件后,已设置的特色图片仍然保留。
  • 对旧文章,系统会在首次访问时动态生成缩略图;对新文章,会在发布时自动设置。

⚠ 注意:

  • 插件只对文章或页面内已上传的图片有效,如果文章中没有图片,则无法设置缩略图。
  • 特色图片的显示样式(大小、位置等)由主题控制,插件本身不做处理。
  • 如果你想排除某些文章类型,可以通过插件提供的过滤器实现。

👉 插件下载地址:[Easy Add Thumbnail – WordPress 插件]


方法二:通过代码实现

如果不想安装插件,可以直接在主题中添加代码。

在当前主题的 functions.php 文件中加入以下代码:

// WordPress自动将第一张图设置为特色图片
function wpforce_featured() {
    global $post;

    if (!isset($post)) return;

    // 检查是否已有特色图片
    if (!has_post_thumbnail($post->ID)) {
        $attached_image = get_children(array(
            '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);
                break;
            }
        }
    }
}
add_action('save_post', 'wpforce_featured');

代码说明

  • 系统会在文章保存时检查是否已有特色图。
  • 如果没有,就从文章中提取第一张图片,并将其设置为特色图。

👉 推荐使用 WPCode代码片段插件 来管理这类功能代码,避免直接修改主题文件。参考文章:[WordPress代码片段插件 WPCode]


注意事项

  • 代码方案仅在后台上传本地图片或使用媒体库图片时有效。
  • 对于通过采集工具(如火车头采集器)导入的文章,或者使用远程图片的内容,代码无法自动设置特色图。
  • 如果你的网站包含大量采集文章,且主题没有内置缩略图功能,建议优先使用插件方案

✅ 总结一下:

  • 小白用户 → 推荐使用 Easy Add Thumbnail 插件,即装即用。
  • 熟悉代码的用户 → 可以选择 functions.php 代码方案,更加轻量化。

这样就能让你的WordPress自动将文章第一张图设为特色图片,大幅提升文章管理效率。

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注