【问题标题】:Retrieve all WooCommerce products without image that are in stock via SQL通过 SQL 检索所有库存中没有图像的 WooCommerce 产品
【发布时间】:2019-09-23 15:46:10
【问题描述】:

我使用这个查询 sql 来检索所有没有图片的产品

SELECT id
FROM   `wp_posts` 
WHERE  id NOT IN (SELECT post_id FROM `wp_postmeta` WHERE  `meta_key` = 
'_thumbnail_id') 
AND `post_type` = 'product' 
AND `post_status` = 'publish'

现在我要检索所有库存中没有图片和库存状态的产品,有什么办法吗?

【问题讨论】:

    标签: php mysql sql wordpress woocommerce


    【解决方案1】:

    以下 SQL 查询将允许您检索“有货”但没有图片的产品:

    SELECT ID
    FROM wp_posts p
    INNER JOIN  wp_postmeta pm ON p.ID = pm.post_id
    WHERE ID NOT IN (SELECT post_id FROM wp_postmeta WHERE meta_key = '_thumbnail_id')
    AND p.post_type = 'product'
    AND p.post_status = 'publish'
    AND pm.meta_key = '_stock_status'
    AND pm.meta_value = 'instock'
    

    或者你可以使用WPDB类通过php查询它,比如:

    global $wpdb;
    
    $product_ids = $wpdb->get_col( "
        SELECT ID
        FROM {$wpdb->prefix}posts p
        INNER JOIN  {$wpdb->prefix}postmeta pm ON p.ID = pm.post_id
        WHERE ID NOT IN (SELECT post_id FROM {$wpdb->prefix}postmeta WHERE meta_key = '_thumbnail_id')
        AND p.post_type = 'product'
        AND p.post_status = 'publish'
        AND pm.meta_key = '_stock_status'
        AND pm.meta_value = 'instock'
    ");
    
    // Raw output
    print_r($product_ids);
    

    【讨论】:

      猜你喜欢
      • 2019-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-10
      • 2018-09-02
      • 2019-07-10
      • 2017-10-30
      相关资源
      最近更新 更多