首页 > 解决方案 > Wordpress 设置帖子中第一张图片的特色图片

问题描述

我已经尝试了类似答案的所有解决方案,但在 Wordpress 5.0 + 上似乎没有任何效果

保存帖子时,我想将其特色图片设置为帖子内容中的第一张图片。

function auto_set_featured( $post_id, $post, $update ) {
  $images = get_posts( array(
    'post_parent'    => $post_id,
    'post_type'      => 'attachment',
    'post_mime_type' => 'image',
    'posts_per_page' => 1
  ) );

  set_post_thumbnail( $post_id, $images[0]->ID );
}

add_action( 'save_post', 'auto_set_featured', 10, 3);

如果set_post_thumbnail()我手动设置图像 ID,它可以工作,但它似乎没有收到$images[0]->ID我不确定为什么这不起作用。

注意:我正在测试内容中有多个图像的帖子,因此$images应该返回一个数组。我也尝试在查询中使用$post->IDand get_the_ID(),但它不起作用。我还尝试手动添加帖子 IDpost_parent

标签: wordpressactionthumbnails

解决方案


很简单。在 wordpress 5.0+ 中,有一个古腾堡编辑器,所以只需从编辑器中添加与特色图像相同的图像。它工作正常。我最近就是这样工作的。


推荐阅读