我的一些产品缺少图像,我想做的是进行一个查询,该查询将仅向我提供具有默认图像(woocommerce 占位符图像)的产品。
这是我尝试过的:
$args = array(
'post_type' => 'product',
'posts_per_page' => -1,
'meta_query', array(
array(
'key' => '_thumbnail_id',
'value' => '5',
'compare' => '=='
)
)
);
我使用此功能找到了占位符图像 ID :
attachment_url_to_postid("/wp-content/uploads/woocommerce-placeholder.png");
查询返回我拥有的每一个产品,而不仅仅是那些带有占位符图像的产品,是什么原因导致的,是否有更好的方法?
您可以使用
meta_key
_thumbnail_id
进行检查。尝试以下查询。
global $wpdb;
$post_ids = $wpdb->get_results( "
SELECT ID FROM $wpdb->posts
WHERE ID NOT IN (
SELECT post_id from $wpdb->postmeta
WHERE meta_key = '_thumbnail_id'
)
AND post_type = 'product'
AND post_status = 'publish'
" );
echo "<pre>"; print_r( $post_ids ); echo "</pre>";
为此感谢@Bhautik。 这让我发疯,但这段代码很有效