簡體   English   中英

使用Woocommerce中的wc_get_products查詢所有不帶API的產品

[英]Query all products without API, using wc_get_products in Woocommerce

在Woocommerce中,我嘗試使用wc_get_products()獲取所有產品,如下所示:

$args = array( 'status' => 'publish' );
$products = wc_get_products( $args );
return $products;

但是它返回一個空字符串。

如何使用wc_get_products()獲得所有產品? 我做錯了什么?

您的代碼有效,並且將為您提供最后創建的10個WC_Product對象的數組。 因此,當您返回此WC_Product對象數組時,由於它不是字符串,因此沒有任何作用。

如果要獲取所有產品 ,則需要添加值為-1 'limit'參數,例如:

// 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>';
}

示例-以下代碼將以字符串形式輸出以逗號分隔的所有產品ID的套件:

echo '<p>Products IDs list: ' . implode( ', ', wc_get_products( array( 'status' => 'publish', 'limit' => -1, 'return' => 'ids' ) ) ) . '</p>';

經過測試和工作。

我的問題是

   wc_get_products($args);

尚未初始化。 您需要先檢查該情況。 可能是您的add_action掛鈎的優先級不合適。 確保在調用該功能之前先初始化woocommerce。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM