retailcrm / woocommerce-module

WooCommerce integration plugin
https://www.simla.com
MIT License
7 stars 28 forks source link

Конфликт с плагином почты России #29

Closed vguns closed 6 years ago

vguns commented 6 years ago

Помогите пожалуйста разобраться почему не хочет работать вместе с плагином доставки Почты России (https://ru.wordpress.org/plugins/russian-post-and-ems-for-woocommerce/)

Оба плагина активны, при переходе во вкладку woocommerce-настройки-интеграция, ошибка - Fatal error: Cannot declare class WC_RPAEFW_Post_Calc_Method, because the name is already in use in /hosting/***/russian-post-and-ems-for-woocommerce.php on line 142

Понять не могу, ведь в вашем плагине такой класс вроде не используется, в чем может быть проблема?

vguns commented 6 years ago

ошибку вызывают include/class-wc-retailcrm-base.php строки 105 и 106 $wc_shipping = new WC_Shipping(); $wc_shipping_list = $wc_shipping->get_shipping_methods();

vguns commented 6 years ago

что если их заменить на $wc_shipping_list = WC()->shipping->get_shipping_methods(); будет ли работать корректно?

iyzoer commented 6 years ago

Да, либо вместо $wc_shipping = new WC_Shipping(); получать объект ещё таким способом $wc_shipping = WC_Shipping::instance();

iyzoer commented 6 years ago

Я так полагаю, что ошибка в плагине почты России. В файле russian-post-and-ems-for-woocommerce.php класс WC_RPAEFW_Post_Calc_Method не проверяется перед объявлением, как это описано в документации - https://docs.woocommerce.com/document/shipping-method-api/#section-3

vguns commented 6 years ago

Спасибо большое