Woocommerce wpdb 过滤器用于自定义产品



我在woocommerce中添加了一个自定义产品。我正在尝试使用以下代码过滤我的custom_product,但似乎我的custom_product product_type仍然是"产品"。如何筛选我的定制产品? 例如,下面的代码可以过滤默认的 wooCommerce 变量产品

$filtered_products = $wpdb->get_results(
"
SELECT * 
FROM `" . $wpdb->prefix . "posts` 
where (post_type='product_variation') AND post_status='publish'
"
);

但是下面的代码无法过滤我添加的自定义产品类型

$filtered_products = $wpdb->get_results(
"
SELECT * 
FROM `" . $wpdb->prefix . "posts` 
where (post_type='custom_product') AND post_status='publish'
"
);

还有其他建议来过滤我的custom_product吗?

如果您需要通过代码获取产品,我可能会使用wc_get_products()

// Get custom_product products.
$args = array(
'type' => 'custom_product',
);
$products = wc_get_products( $args );

资料来源:https://github.com/woocommerce/woocommerce/wiki/wc_get_products-and-WC_Product_Query

要使用 REST API,我认为您会向此 URL 发送请求:

/wp-json/wc/v3/products?type=custom_product

https://woocommerce.github.io/woocommerce-rest-api-docs/?shell#list-all-products

使用 WP_QUERY 而不是 SQL 查询解决了这个问题。从以下链接获取帮助 元查询

最新更新