woocommerce的传送方法中,construct()中的$ instance_id的重要性是什么

时间:2019-01-25 03:23:40

标签: woocommerce shipping shipping-method

我想知道“ $ Instance_id = 0”的重要性是什么,为什么在woocommerce文档中__construct()中的“ 0”出现$ 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';
    }


} 

0 个答案:

没有答案