问题描述
我根据在这里找到的一些代码编写了以下代码。但不幸的是,它不起作用。我需要根据国家/地区清单和超过1000`的购物车价值收取额外的出口费。
add_action( 'woocommerce_cart_calculate_fees','add_fee_weight_based',10,1 );
function add_fee_weight_based( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$fee = 45; //
$targeted_country == array('AF','AL','DZ','AS','AD','AO','AI','AQ','AG','AR','AM','AW','AU','AZ','BS','BH','BD','BB','BY','BZ','BJ','BM','BT','BO','BQ','BA','BW','BV','BR','IO','BN','BF','BI','KH','CM','CA','CV','KY','CF','TD','CL','CN','CX','CC','CO','KM','CG','CD','CK','CR','CI','CU','CW','DJ','DM','DO','EC','EG','SV','GQ','ER','ET','FK','FO','FJ','GF','PF','TF','GA','GM','GE','GH','GI','GL','GD','GP','GU','GT','GG','GN','GY','HT','HM','VA','HN','HK','IS','IN','ID','IR','IQ','IM','IL','JM','JP','JE','JO','KZ','KE','KI','KP','KR','KW','KG','LA','LB','LS','LR','LY','LI','MO','MK','MG','MW','MY','MV','ML','MH','MQ','MR','MU','YT','MX','FM','MD','MC','MN','ME','MS','MA','MZ','MM','NA','NR','NP','NC','NZ','NI','NE','NG','NU','NF','MP','NO','OM','PK','PW','PS','PA','PG','PY','PE','PH','PN','PR','QA','RE','RU','RW','BL','SH','KN','LC','MF','PM','VC','WS','SM','ST','SA','SN','RS','SC','SL','SG','SX','SB','SO','ZA','GS','SS','LK','SD','SR','SJ','SZ','CH','SY','TW','TJ','TZ','TH','TL','TG','TK','TO','TT','TN','TR','TM','TC','TV','UG','UA','AE','GB','US','UM','UY','UZ','VU','VE','VN','VG','VI','WF','EH','YE','ZM','ZW');
$cart_value = $cart->get_cart_contents_total(); // Total value
if ( $cart_value > 1000 && WC()->customer->get_shipping_country() == $targeted_country ) {
$cart->add_fee(_('Export Document'),($fee),true );
}
}
解决方法
您的代码中存在一些错误,例如$targeted_country ==
应该是$targeted_country =
,并且您在国家的最终in_array()
声明中也应该使用IF
。
改为使用以下内容:
add_action( 'woocommerce_cart_calculate_fees','add_fee_country_and_min_amount_based' );
function add_fee_country_and_min_amount_based( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$fee_ammount = 45; // Fee amount
$min_ammount = 1000; // Cart min amount
$countries = array( 'AF','AL','DZ','AS','AD','AO','AI','AQ','AG','AR','AM','AW','AU','AZ','BS','BH','BD','BB','BY','BZ','BJ','BM','BT','BO','BQ','BA','BW','BV','BR','IO','BN','BF','BI','KH','CM','CA','CV','KY','CF','TD','CL','CN','CX','CC','CO','KM','CG','CD','CK','CR','CI','CU','CW','DJ','DM','DO','EC','EG','SV','GQ','ER','ET','FK','FO','FJ','GF','PF','TF','GA','GM','GE','GH','GI','GL','GD','GP','GU','GT','GG','GN','GY','HT','HM','VA','HN','HK','IS','IN','ID','IR','IQ','IM','IL','JM','JP','JE','JO','KZ','KE','KI','KP','KR','KW','KG','LA','LB','LS','LR','LY','LI','MO','MK','MG','MW','MY','MV','ML','MH','MQ','MR','MU','YT','MX','FM','MD','MC','MN','ME','MS','MA','MZ','MM','NA','NR','NP','NC','NZ','NI','NE','NG','NU','NF','MP','NO','OM','PK','PW','PS','PA','PG','PY','PE','PH','PN','PR','QA','RE','RU','RW','BL','SH','KN','LC','MF','PM','VC','WS','SM','ST','SA','SN','RS','SC','SL','SG','SX','SB','SO','ZA','GS','SS','LK','SD','SR','SJ','SZ','CH','SY','TW','TJ','TZ','TH','TL','TG','TK','TO','TT','TN','TR','TM','TC','TV','UG','UA','AE','GB','US','UM','UY','UZ','VU','VE','VN','VG','VI','WF','EH','YE','ZM','ZW' );
$cart_total = $cart->get_cart_contents_total(); // Cart content subtotal
if ( $cart_value >= $min_ammount && in_array( WC()->customer->get_shipping_country(),$countries ) ) {
$cart->add_fee(_('Export Document','woocommerce'),$fee_ammount,true );
}
}
代码进入活动子主题(或活动主题)的functions.php文件中。应该可以。