какова важность $ instance_id в construct () в способе доставки woocommerce - PullRequest
0 голосов
/ 25 января 2019

Я хотел бы знать, какова важность "$ Instance_id = 0" и почему "0" в __construct (), в документации по woocommerce, появляется $ instance_id = 0, но не работает.

Я пробовал несколько раз с __construct () и __construct ($ Instance_id = 0) и результатом: работа __contruct () (не очень хорошо), во внешнем интерфейсе, но почти волшебно, потому что, когда я хочу добавить этоспособ доставки не отображается в раскрывающемся списке.но во внешнем интерфейсе появится цена доставки.когда я ставлю __construct ($ Instance_id = 0) не показывает поля настроек (в wp-admin / woocommerce / settings / shipping).но если я установил __construct ($ Instance_id = 1) или любой другой номер, работаю практически все, поля настроек и раскрывающийся список показывают эти методы для назначения методов доставки для зоны, но не нашли никакого метода для этой зоны, даже если япусть пусто (это значит везде).Также, если я установлю фиксированную цену в коде, например:

$cost= 100;
    // send the final rate to the user. 
    $this->add_rate( array(
        'id'   => $this->id,
        'label' => $this->title,
        'cost'   => $cost
    ));

в веб-интерфейсе: «Нет доступных способов доставки. Пожалуйста, убедитесь, что ваш адрес был введен правильно, или свяжитесь с нами, если вам нужна помощь."

Спасибо за помощь

* обратите внимание, что в основном файле содержится:

if ( ! defined( 'WPINC' ) ) {
die;

}
/**
 * Check if WooCommerce is active
 */

$active_plugins = apply_filters( 'active_plugins', get_option( 
'active_plugins' ) );
 if ( in_array( 'woocommerce/woocommerce.php',  $active_plugins) ) {
add_filter( 'woocommerce_shipping_methods', 'add_fast_delivery_shipping_method' );
function add_fast_delivery_shipping_method( $methods ) {
  $methods['fast_delivery_shipping_method'] = 'WC_Fast_Delivery_Shipping_Method';
  return $methods;
}
add_action( 'woocommerce_shipping_init', 'fast_delivery_shipping_method_init' );
function fast_delivery_shipping_method_init(){
   require_once 'class-fast-delivery-shipping-method.php';
    }


} 
...