Я пытаюсь расширить класс WC_Product, чтобы добавить «property1» и «property2» в защищенный массив $data, но когда я пытаюсь запустить свой плагин, он выдает следующую ошибку:
WC_Product не найден.
Вот мой код:
class WC_MyClass extends WC_Product {
function __construct() {
parent::__construct();
array_push($data, "property1", "property2");
}
}
Мне нужно расширить класс WC_Product в моем плагине.
Детали плагина: Мой плагин состоит в том, чтобы рассчитать стоимость доставки в соответствии с тарифом FedEx для моей страны. Для этого я использую плагин Woocommerce Table Rate Shipping. Проблема в том, что FedEx иногда учитывает не реальный вес, а объемный, поэтому я хочу сделать плагин, чтобы определить, какой вес больше, и присвоить его переменной. Идея состоит в том, чтобы установить вес доставки, чтобы использовать его для расчета стоимости доставки, а не изменять спецификацию веса продукта. Вот почему я пытаюсь расширить класс WC_Product, добавив в него свойство веса доставки. Я уже сделал все расчеты, теперь мне просто нужно сохранить вес доставки, чтобы использовать его с плагином Woocommerce Table Rate Shipping.
Документация: класс WC_Product — свойство $data
include_once( WC_ABSPATH . 'includes/abstracts/abstract-wc-product.php' );
перед определением класса? Как вы используете свой WC_MyClass? - person jeger   schedule 12.09.2017add_action( 'init', 'my_wrapper_function' );
Например, как в этой статье: jeroensormani.com/adding-a-custom -woocommerce-тип продукта - person pants   schedule 12.09.2017add_action('woocommerce_after_shop_loop_item', 'myFunction', 10);
, но я написал часть класса изmyFunction()
- person Elisabet González   schedule 12.09.2017Warning: include_once(WC_ABSPATH/includes/abstracts/abstract-wc-product.php): failed to open stream
- person Elisabet González   schedule 12.09.2017init
мне нравится использоватьwoocommerce_loaded
- person helgatheviking   schedule 12.09.2017