如何在 woocommerce 中获取所有没有特色图片的产品?

How to get all products that doesn't have feature image in woocommerce?

我的一些产品缺少图片,我想做的是进行查询,只为我提供具有默认图片(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");

查询 returns 我拥有的每一件产品,而不仅仅是那些带有占位符图像的产品,是什么原因造成的,有没有更好的方法?

您可以使用 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>";