php - 在 Woocommerce 中使用 wc_get_products 查询所有没有 API 的产品
问题描述
在 Woocommerce 中,我试图让所有产品使用wc_get_products()
如下:
$args = array( 'status' => 'publish' );
$products = wc_get_products( $args );
return $products;
但它返回一个空字符串。
我怎样才能使用所有产品wc_get_products()
?我做错了什么?
解决方案
WC_Product
您的代码有效,并且将为您提供最后创建的 10 个对象的数组。因此,当您返回这个 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>';
}
示例 - 以下代码将以字符串形式输出所有产品 ID 的逗号分隔套件:
echo '<p>Products IDs list: ' . implode( ', ', wc_get_products( array( 'status' => 'publish', 'limit' => -1, 'return' => 'ids' ) ) ) . '</p>';
测试和工作。
推荐阅读
- gcc - ARM 处理器的 GNU 工具链是否提供对 ARM11 等经典处理器的支持?
- c# - 如何从进程名称中获取进程 ID?(C#)
- java - Android:为什么按下按钮时我的活动没有出现?
- reactjs - Console.log 在 React.js 的构造函数和渲染函数中打印两次值
- video - 比较两个视频然后缩小差异
- mongodb - 我们如何在 QUARKUS - MONGODB WITH PANACHE 中实现 MongoDB DBRefs?
- c++ - QTableWidget 中的索引标题
- php - 从组合框中的选定数据自动完成:jquery.min.js:2 Uncaught TypeError: Cannot use 'in' operator to search 'length' in
- html - CSS Sprite 未正确调整大小
- powershell - 通过 AutoHotKey 传递 PowerShell 变量