Существует несколько способов получить все идентификаторы продуктов в массиве:
1) Использование Woocommerce WC_Product_Query
:
$ids = wc_get_products( array( 'return' => 'ids', 'limit' => -1 ) );
2) Использование Wordpress WP_Query
(включая идентификаторы вариантов продукта) ,
$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'
тип записи, если вы этого не хотите.