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

问题描述 投票:0回答:2

我的一些产品缺少图像,我想做的是进行一个查询,该查询将仅向我提供具有默认图像(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");

查询返回我拥有的每一个产品,而不仅仅是那些带有占位符图像的产品,是什么原因导致的,是否有更好的方法?

php wordpress woocommerce product
2个回答
4
投票

您可以使用

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>";

0
投票

为此感谢@Bhautik。 这让我发疯,但这段代码很有效

© www.soinside.com 2019 - 2024. All rights reserved.