php - Woocommerce Hook 函数的第二个参数返回 NULL 而不是对象

标签 php wordpress woocommerce parameters hook-woocommerce

在 Woocommerce 文档中,位于 get_price_html() 方法中的 woocommerce_get_price_html 过滤器钩子(Hook)应该接受最多接受两个参数,价格和产品。

但是当我尝试访问该产品时,我得到的是 NULL 而不是 WC_Product 对象。

这是我的测试代码:

add_filter( 'woocommerce_get_price_html', function( $price, $item ) {
    echo var_dump ($item); // NULL
    return $price;
});

我错过了什么吗?

最佳答案

您需要在 Hook 函数中声明用于此 Hook 的 2 个参数,就在 Hook 优先级之后,这样:

add_filter( 'woocommerce_get_price_html', function( $price, $product ) {
    echo var_dump ($product); // The WC_Product object instance
    return $price;
}, 10, 2 );

最好给你的函数命名,比如:

add_filter( 'woocommerce_get_price_html', 'filter_woocommerce_get_price_html', 10, 2 ); 
function filter_woocommerce_get_price_html( $price, $product ) {
    echo var_dump ($product); // The WC_Product object instance
    return $price;
}

这次你应该可以得到变量$product对象了……

See documentation for add_action() and add_filter() WordPress functions.

关于php - Woocommerce Hook 函数的第二个参数返回 NULL 而不是对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55094245/

相关文章:

php - 解压tar文件到目录

php - 从一个表中选择与另一表中的值匹配的不同且随机的行

php - 如何使用mysql php根据下拉列表动态更改div内容

php - 循环定位特定的 Wordpress 帖子

wordpress - 从头像获取 BuddyPress 事件 id

php - 在wordpress中以自定义帖子类型获取类别的所有产品

php - 在 WooCommerce 中添加到购物车特定产品之前清空购物车

php - 什么会导致 CI​​ 错误地返回空值?

wordpress - Woocommerce 变量保护 "No products matched your selection"

java - wc-api/v3 无法通过 wc-api-java 工作