在自定义插件错误问题中扩展WC_Product类(找不到WC_Product类)

时间:2017-09-12 17:19:43

标签: php wordpress class woocommerce hook-woocommerce

我正在尝试扩展WC_Product类,将“property1”和“property2”添加到受保护的数组$ data中,但是当我尝试运行我的插件时,它会给我下一个错误:

  

找不到WC_Produ。

这是我的代码:

class WC_MyClass extends WC_Product {
    function __construct() {
        parent::__construct();
        array_push($data, "property1", "property2");
    }
}

我需要的是在我的插件中扩展WC_Product类。

插件详情: 我的插件包括根据我国的FedEx表格费率计算运费。 要做到这一点,我正在使用Woocommerce表费率运输插件。问题是联邦快递有时会考虑实际重量而不是体积,因此我想做一个插件来确定哪个权重更大并将其分配给变量。我们的想法是设置运输重量以使用它来计算运输成本,而不是修改产品重量规格。这就是我试图扩展WC_Product类以增加运输重量属性的原因。我已经完成了所有微积分,现在我只需要存储运输重量,以便与Woocommerce表价运费插件一起使用。

文档:WC_Product class - $data property

2 个答案:

答案 0 :(得分:0)

你必须告诉php你想在类变量上做到这一点

class WC_MyClass extends WC_Product {
  function __construct() {
    parent::__construct();
    $this->data[] = "property1";
    $this->data[] = "property2";
  }
}

答案 1 :(得分:0)

如果您自己拥有扩展功能,则尚未创建WooCommerce类。您必须将类扩展添加到init挂钩,如下所示:

add_action( 'init', 'register_myclass' );
function register_myclass() {
  class WC_MyClass extends WC_Product {
    /*now you can override whatever you like*/
  }
}