0
私はWooCommerce 3.2.6を使用しています。達成したいこと個々の製品ごとに異なる配送ゾーンを設定したいと思っています。WooCommerce各製品の条件付き配送ゾーンの選択
私はカスタムボックスの寸法に基づいて計算された配送料が必要な商品があります。料金計算にはFEDEX APIを使用しています。これを達成するには、特定の製品にのみ異なる出荷ゾーンを設定するコードまたはフィルタを必要とします。
ここで私は商品をShipping Zoneでマップすることができましたが、次に実際にその配送エリアのみを設定して、ウェブサイトのフロントエンドに料金を表示することはできませんでした。どんな助けも高く評価されます。
add_action('wp_head','show_only_selected_zone', 2, 10);
function show_only_selected_zone() {
//if(is_product) {
global $post;
$product_id = get_the_ID();
$product_name = get_the_title($product_id);
$explode_product = explode(" ",$product_name);
$all_zones = orig_get_all_zones();
foreach ($all_zones as $key => $zone) {
//echo "<pre>";print_r($zone);echo "</pre>";
$extracted_zone = $zone['zone_name'];
$zone_id = $zone['zone_id'];
if(in_array($extracted_zone,$explode_product)) {
//echo 'This is Extracted Zone: '.$extracted_zone. ' '. $zone_id;
$set_zone_id = $zone_id;
echo $set_zone_id;
$zone = WC_Shipping_Zones::set_zone_by('zone_id', $set_zone_id);
//echo 'Zone Result May be: '.$zone;
break;
}
//echo "<pre>";print_r($zone);echo "</pre>";
//echo $zone['zone_name'].'<br>';
}
}
function orig_get_all_zones() {
if(class_exists('WC_Shipping_Zones')) {
$all_zones = WC_Shipping_Zones::get_zones();
return $all_zones;
}
return false;
}
function orig_get_zone($zone_id = 0) {
if(class_exists('WC_Shipping_Zones')) {
$the_zone = WC_Shipping_Zones::get_zone($zone_id);
return $the_zone;
}
return false;
}