我尝试开发一个woocommerce插件。我需要改变产品价格和产品可用性
我正在使用woocommerce_before_single_product钩子,但我不明白钩子如何将id产品传递给我的函数。
这是我的代码
add_action('woocommerce_before_single_product', 'call_ws_for_as400', 10 , 1);
function call_ws_for_as400() {
$product = wc_get_product( $context['post'] -> ID );
$id = $product->id;
error_log($product);
error_log($id);
}
产品和ID总是空的,为什么?
答案 0 :(得分:1)
没有参数传递给woocommerce_before_single_product
钩子:
do_action( 'woocommerce_before_single_product' );
因此您需要使用全局$product
:
add_action('woocommerce_before_single_product', 'call_ws_for_as400');
function call_ws_for_as400() {
global $product;
$id = $product->get_id();
error_log($product);
error_log($id);
}