将来自外部 url 的图像设置为特色图像(如果不存在)

set image from external url as featured image if its not present

我正在尝试将已上传到媒体库中 site/present 的后备图片设置为特色图片,如果在我单击“发布”或“更新”时没有特色图片但它没有设置图片。什么都没发生

functions.php

中的代码
function thumb_check($post_id){    
$url="http://example.com/uploads/flower.png";    
if (has_post_thumbnail( $post_id)){}    
else { update_post_meta($post_id,'_thumbnail_id',$url);}    
}
add_action( 'save_post', 'thumb_check' );

_thumbnail_id 仅适用于 WP 照片 ID,不适用于 URL。看看这个posthttps://wordpress.org/support/topic/_thumbnail_id-not-display-when-full-url-of-image

这是我的建议:

更新: url_to_postid 对我而言似乎效果不是很好。你应该去 Media 然后寻找你的后备图像 ID 并手动将图像 ID 放在下面的代码中。要查看图像 ID,请查看 url,它应该类似于 http://example.com/wp-admin/upload.php?item=51,其中 51 是图像 ID。另外,我将 update_post_meta 替换为 set_post_thumbnail

functions.php

function thumb_check($post_id) {
    if(!has_post_thumbnail($post_id)) {
        set_post_thumbnail($post_id, 51)
    }
}

add_action('save_post', 'thumb_check');