如何禁用運送到另一個地址選項

已發表: 2022-01-01

WooCommerce 禁用運送到另一個地址選項 WooCommerce 是一個很棒的免費電子商務解決方案,它具有一組非常有用的功能。 突出的是 WooCommerce 在開發時考慮了可擴展性,類似於 WordPress 的模塊化。

這篇文章包含兩個不同的部分。 在第一部分中,我將與您分享如何完全刪除所有運輸字段,迫使客戶將其訂單運送到帳單地址。 在第二部分中,我將向您展示如何刪除“運送到另一個地址選項”並強制客戶同時輸入賬單地址和送貨地址。

禁用運送到另一個地址選項

如果您的 WooCommerce 商店只允許運送到客戶的帳單地址,則不需要輸入運送字段的其他選項。 但是,默認情況下,WooCommerce 有一個選項可以輕鬆刪除運輸字段,而無需代碼片段。

但是,這裡是先決條件:

  • WordPress(假設您已經安裝了它)。
  • WooCommerce 插件(已安裝並激活)。

說了這麼多,讓我們深入了解這篇文章的本質。 這些步驟非常簡單,您不會很難實施這些解決方案。

a) 完全刪除運輸字段的步驟

以下是您需要遵循的步驟:

  1. 登錄您的 WordPress 站點並以管理員用戶身份訪問儀表板
  2. 從儀表板菜單中,單擊WooCommerce > 設置。 這將打開“設置”頁面。 單擊“運輸”選項卡,然後單擊“運輸選項”,您將在此處看到“計算”和“運輸目的地”等選項。
  3. 運送目的地設置中,使用“強制運送到客戶帳單地址”選項來完全刪除運送字段,並將帳單字段用於帳單和運送。 此選項允許您控制應使用哪些結帳字段。

確保保存所做的更改。

  1. 要查看結果,請轉到結帳頁面,您將看到帳單詳細信息將用於運輸。 這將是結果:

b) 刪除“運送到另一個地址”選項並強制使用運送地址的步驟

默認情況下,WooCommerce 有一個設置。 它不強制用戶單獨添加送貨地址。 要隱藏“運送到另一個地址”選項,您可以強制客戶購買產品以輸入他們的帳單地址和送貨地址。

在本節中,我將分享一些簡單的步驟來做到這一點。 我們將使用 PHP 代碼

  • 隱藏“運送到不同地址”複選框並添加自定義標題。
  • 在結帳驗證時強制收貨地址。

以下是您需要遵循的步驟:

  1. 登錄您的 WordPress 站點並以管理員用戶身份訪問儀表板
  2. 從儀表板菜單中,單擊外觀菜單 > 主題編輯器菜單。 當主題編輯器頁面打開時,查找主題函數文件,我們將在其中添加將在結帳頁面顯示產品圖像的函數。 隱藏“運送到不同地址”複選框並添加自定義標題。
  3. 將以下代碼添加php文件中:
 /**
* 隱藏“運送到不同地址”複選框。
*/

/**
*隱藏“運送到不同地址”複選框/添加自定義標題。
* 如果需要,您可以在此處替換文本。
*/

功能 njengah_js_force_shipping_address() {

?><script type="text/javascript">

var diffAddress = document.querySelector('#ship-to-different-address');

diffAddress.outerHTML = '<h3>發貨詳情</h3><input type="checkbox" checked="checked" value="1" name="ship_to_different_address" class="hidden" style="display: none;" />';

</script><?php

}

add_action('wp_footer', 'njengah_js_force_shipping_address');

/**
* 在結帳驗證時強制收貨地址
*/

功能 njengah_force_posted_data_ship_to_different_address( $posted_data ) {

$posted_data['ship_to_different_address'] = true;

返回 $posted_data;
}

add_filter('woocommerce_checkout_posted_data','njengah_force_posted_data_ship_to_different_address');

// 請注意,這會覆蓋 Woo 設置中的“運送目的地”選項

add_filter('woocommerce_ship_to_different_address_checked', '__return_true');

// 如果你有可能只有虛擬訂單,你可能想把它註釋掉

add_filter('woocommerce_cart_needs_shipping_address', '__return_true');

// 訂單總是有運費(例如,即使是本地取貨)

add_filter('woocommerce_order_needs_shipping_address', '__return_true');

  1. 要查看結果,請轉到結帳頁面,您將看到添加了包含送貨地址詳細信息的新部分。 這將是結果:

代碼如何運作

首先,此代碼隱藏了“運送到不同地址”複選框,您可以添加自己的自定義標題。 然後它在結帳驗證時強制輸入送貨地址。 此外,我添加了一個過濾器來覆蓋 Woo 設置中的“運送目的地”選項。 此外,我添加了一個過濾器以確保訂單始終發貨,即使它是本地取貨。

結論

在這個簡短的教程中,我分享瞭如何完全刪除運輸字段。 我已經與您分享了實現此目標所需遵循的簡單步驟。 此外,我還分享了一個自定義 PHP 代碼片段,您需要將其添加到 functions.php 文件中以刪除運送到另一個地址選項並強制使用運送地址。 我希望這篇文章為您提供了一個完美的解決方案。

類似文章