php - 通过 SQL 检索库存中所有没有图像的 WooCommerce 产品

标签 php mysql sql wordpress woocommerce

我使用此查询 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'

现在我会检索所有没有图片和库存状态的产品,有没有办法做到这一点?

最佳答案

以下 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'

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

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

关于php - 通过 SQL 检索库存中所有没有图像的 WooCommerce 产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55997875/

相关文章:

php - 如何选择字段数组在一行中显示或在一行中显示json

php - Symfony2 - 未找到类

mysql - SQL如何使用日期字段按财政季度和年度分组

mysql - MySQL推断随机查询的外键关系

mysql - 使用 mysqldump 转储和加载 MySQL InnoDB 数据库的最快方法是什么?

MySQL 在计数和分组时连接表

PHP - 同一页面上的 POST 和 GET 方法

javascript - ($ ('.class-name' ).is (":checked")) 从来不为真

SQL在特定日期选择重复项

sql - Entity Framework -属性IN子句用法