获取数组中的所有Woocommerce产品ID

时间:2018-09-08 20:39:47

标签: php sql wordpress woocommerce product

如何获得一个阵列中所有产品的ID?

输出应该是一个简单的数组,其中包含一些数字,仅此而已。

已建议我不要使用query_posts(),所以我宁愿不使用此功能的解决方案。

1 个答案:

答案 0 :(得分:3)

有多种方法来获取数组中的所有产品ID:

1)使用Woocommerce WC_Product_Query

$ids = wc_get_products( array( 'return' => 'ids', 'limit' => -1 ) );

2)使用Wordpress WP_Query (包括产品版本ID)

$ids = get_posts( array(
  'posts_per_page' => -1,
  'post_type' => array('product','product_variation'),
  'fields' => 'ids',
) );

3)使用WPDB (SQL查询) (包括产品版本IDS)

global $wpdb;
$ids = $wpdb->get_col( "SELECT ID FROM {$wpdb->prefix}posts WHERE post_type IN ('product','product_variation')");
  

如果不希望,您可以通过最后两种方式删除'product_variation'帖子类型。