別の住所への発送オプションを無効にする方法

公開: 2022-01-01

WooCommerce別の住所への発送オプションを無効にする WooCommerceは、非常に便利な一連の機能を備えた、優れた無料のeコマースソリューションです。 際立っているのは、WooCommerceがWordPressのモジュール性と同様に拡張性を念頭に置いて開発されていることです。

この投稿には2つの異なる部分が含まれています。 最初の部分では、すべての配送フィールドを完全に削除して、顧客に注文を請求先住所に配送させる方法を紹介します。 2番目のセクションでは、「別の住所に発送するオプション」を削除し、顧客に請求先住所と配送先住所の両方を入力するように強制する方法を示します。

別の住所への発送オプションを無効にする

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> <inputtype = "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');

/ **
*チェックアウト検証時に配送先住所を強制する
* /

function 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設定の[配送先]オプションを上書きするフィルターを追加しました。 さらに、ローカルピックアップであっても、注文が常に発送されるようにフィルターを追加しました。

結論

この簡単なチュートリアルでは、配送フィールドを完全に削除する方法を共有しました。 これを達成するために従う必要のある簡単な手順をあなたと共有しました。 さらに、別の住所への配送オプションを削除して配送先住所を強制するために、functions.phpファイルに追加する必要があるカスタムPHPコードスニペットを共有しました。 この投稿がこれに対する完璧な解決策を提供してくれることを願っています。

同様の記事