在 WooCommerce 中使用 wc_get_products 函数

sar*_*rte 4 php wordpress product woocommerce hook-woocommerce

这里有点不解。

add_action('plugins_loaded', 'foobar' );

function foobar(){
    $products = wc_get_products(array());
    var_dump($products);
}
Run Code Online (Sandbox Code Playgroud)

这将返回空数组。我添加到 args 的参数似乎没有区别。我得到的只是空结果。

我究竟做错了什么?

Loi*_*tec 5

更新

第一个plugin_loaded钩子似乎不是正确的钩子(但可能是我错了)......

现在您需要添加一些最小参数来获取您的产品:

$products = wc_get_products(array(
    'limit'  => -1, // All products
    'status' => 'publish', // Only published products
) );
Run Code Online (Sandbox Code Playgroud)

要查看购物车页面顶部的输出(例如)以确保您得到一些仅用于测试目的的东西:

add_action('woocommerce_before_cart', 'custom_raw_output' );
function custom_raw_output(){
    $products = wc_get_products(array(
        'limit'  => -1,
        'status' => 'publish',
    ) );
    echo '<pre>'; print_r($products); echo '</pre>';
}
Run Code Online (Sandbox Code Playgroud)

代码位于活动子主题(或主题)的 function.php 文件或任何插件文件中。

经过测试和工作...