如何将产品信息传递给woocommerce插件?

时间:2017-10-25 16:09:35

标签: php wordpress woocommerce hook-woocommerce

我尝试开发一个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总是空的,为什么?

1 个答案:

答案 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);
}