wordpress - 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->ID
and get_the_ID()
,但它不起作用。我还尝试手动添加帖子 IDpost_parent
解决方案
很简单。在 wordpress 5.0+ 中,有一个古腾堡编辑器,所以只需从编辑器中添加与特色图像相同的图像。它工作正常。我最近就是这样工作的。
推荐阅读
- sas - SOAP 请求 - SAS CI
- node.js - /usr/local/bin/npm 没有这样的文件或目录 ubuntu
- python-3.x - 有没有办法通过 Selenium 禁用 ChromeDriver 中的页面自刷新?
- yii2 - Yii2 UploadedFile::getInstance() 返回 null
- c# - 对于大于 900kb 的文件,SilverLight 文件上传失败(大多数情况下)
- node.js - mongoose, nodejs - 将当前模式对象的引用添加到前一个模式对象
- python - 在没有循环的模式之前解析所有子字符串?
- wpf - 为什么我的自定义控件不能正常工作?
- node.js - npm start 失败的守护进程不工作
- node.js - Docker自动绑定端口