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

时间:2020-05-13 15:59:19

标签: php wordpress woocommerce

我在woocommerce中添加了自定义产品。我正在尝试使用以下代码过滤我的custom_product,但我的custom_product的product_type似乎仍然是“ product”。如何过滤我的自定义产品? 例如。下面的代码可以过滤默认的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吗?

2 个答案:

答案 0 :(得分:1)

如果您需要通过代码获取产品,我可能会使用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

答案 1 :(得分:0)

使用WP_QUERY而不是SQL查询解决了它。从下面的链接获得帮助 Meta Query