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

标签 php wordpress woocommerce hook-woocommerce

我尝试开发一个 woocommerce 插件。我需要更改产品价格和产品供货情况

我正在使用 woocommerce_before_single_product Hook ,但我不明白该 Hook 如何将 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 始终为空,为什么?

最佳答案

没有参数传递到 woocommerce_before_single_product Hook :

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

关于php - 如何将产品信息传递给 woocommerce 插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46937254/

相关文章:

php - 如何在计数中加上逗号?

php - Nginx 不提供 PHP 文件

php - wordpress 拆分 <li> 以形成 3 列

php - 当公司来自欧盟时在 WooCommerce 中添加 "VAT REVERSE CHARGE"

WooCommerce 支付完成 Hook

php - PHP PDO 语句可以接受表名或列名作为参数吗?

php - 从 Magento 获取属性选项列表

linux - LAMP无法访问WordPress网站

WordPress 和子主题 - 找出要覆盖哪个 .php 的策略?

mysql - WooCommerce:将产品类型从简单批量更改为外部/附属