Ваш код работает и даст вам массив из 10 последних созданных WC_Product
объектов.Поэтому, когда вы возвращаете этот массив объектов WC_Product, он ничего не дает, поскольку он не является строкой.
Если вы хотите, чтобы получил все продукты , вам нужно добавить аргумент 'limit'
со значением-1
как:
// An array of all published WC_Product Objects
$products = wc_get_products( array( 'status' => 'publish', 'limit' => -1 ) );
// Displaying the number of products in this array
echo '<p>Number of products: ' . sizeof( $products ) . '</p>';
// Loop through products and display some data using WC_Product methods
foreach ( $products as $product ){
echo '<p>';
echo 'Type: ' . $product->get_type() . '<br>'; // Product type
echo 'ID: ' . $product->get_id() . '<br>'; // Product ID
echo 'Title: ' . $product->get_title() . '<br>'; // Product title
echo 'Price: ' . $product->get_price(); // Product price
echo '</p>';
}
Пример - следующий код выведет в строку набор символов, разделенных запятой, всех идентификаторов вашего продукта:
echo '<p>Products IDs list: ' . implode( ', ', wc_get_products( array( 'status' => 'publish', 'limit' => -1, 'return' => 'ids' ) ) ) . '</p>';
Протестированои работает.