WordPress WooCommerce(WooCommerce)で配送先住所フィールドを非表示に

Last Updated: 2024 年 03 月 06 日 11のコメント

アドレスを取得する必要がないソフトウェアのダウンロードやコンテンツを販売している場合、WooCommerceで配送先住所をなくすことがいいことがあります。 WooCommerceで配送先住所を隠すプラグインで WooCommerce Hide Checkout Shipping Addressがあります。 しかし、このプラグインを使用しても配送先住所がなくならないようです。 特にこのプラグインは、6年以上の更新がないされており、使用していないことが望ましい。

以下に示す方法は最新です WooCommerce バージョンで動作しない場合は、コメントでお知らせください。他の方法があるかどうかを確認してみましょう。 お支払いページでフィールドを追加、削除する簡単な方法で WooCommerce チェックアウト管理プラグイン YITH WooCommerce Checkout Managerのようなプラグインを使用することができます。

WordPress WooCommerce(WooCommerce)で配送先住所フィールドを非表示に

WooCommerceで配送先住所フィールドを隠したい場合は、次の関数をテーマの関数ファイル(functions.php)最後に追加すると、配送先住所がなくなります。

add_action('woocommerce_checkout_init','disable_billing_shipping');

function disable_billing_shipping($checkout){
$checkout->checkout_fields['billing']=array();
$checkout->checkout_fields['shipping']=array();
return $checkout;
}
Hiding Shipping Address in WooCommerce in WordPress

名前とメールアドレスだけ残してすべて非表示にする方法で、次の関数をfunctions.phpファイルに追加します。

add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );

function custom_override_checkout_fields( $fields ) {
unset($fields['order']['order_comments']);
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_address_1']);
unset($fields['billing']['billing_address_2']);
unset($fields['billing']['billing_city']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_country']);
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_phone']);
return $fields;
}
Hide Shipping Address except name and email address

コードは必ず チャイルドテーマ(サブテーマ)を作ってチャイルドテーマのテーマファイルに追加してください。 よう今後のテーマを更新時に追加したコードが消えません。

※上記のコードが正常に動作しない場合は、以下コメント欄でお知らせください。 これにより、最新の WooCommerce バージョンで動作するコードがあるかチェックした後、文を更新します。

WooCommerce チェックアウトフィールドをカスタマイズする

WooCommerce 決済(チェックアウト)ページで、ユーザー定義のフィールドを追加したい場合は、次の記事で紹介するYITHプラグインを使用すると、さまざまな種類のフィールドを追加、削除、位置の移動が可能です。

他にも Checkout Field Editor(Checkout Manager)for WooCommerceのような無料のプラグインもあります。 また、WooCommerceから直接作成された Checkout Field Editor(チェックアウトフィールドエディタ)というプラグインもあります。

訪問の受領時に配送先住所セクションを隠す

配送方法で訪問受領を選択した場合 WooCommerce 配送先住所全体を隠すことを検討してください。 そのような場合は、以下のコードをお試しください。

// 방문 수령(Local Pickup) 선택 시 WooCommerce 배송 주소 섹션 숨기기
// Hide Woocommerce shipping address section when "Local pickup" is selected for the shipping method

add_action( 'woocommerce_after_checkout_form', 'hide_ship_to_section' );
  
function hide_ship_to_section( $available_gateways ) {
    
   $chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
   $chosen_shipping = $chosen_methods[0];
   if ( 0 === strpos( $chosen_shipping, 'local_pickup' ) ) {
   ?>
      <script type="text/javascript">
         jQuery('#customer_details .col-2').fadeOut();
      </script>
   <?php  
   } 
   ?>
      <script type="text/javascript">
         jQuery('form.checkout').on('change','input[name^="shipping_method"]',function() {
            var val = jQuery( this ).val();
            if (val.match("^local_pickup")) {
                     jQuery('#customer_details .col-2').fadeOut();
               } else {
               jQuery('#customer_details .col-2').fadeIn();
            }
         });
      </script>
   <?php
  
}

メモ:


11のコメント

コメント

  1. こんにちは。 WordPress 公式で提供しているBjorkテーマでは、どうしてもチェックアウトフィールドの修正はできませんね。 function.phpの修正も試してみましたが、他のテーマでは動作するコードがBjorkだけでは動作しませんね。 Gutenberg エディタとの競合があるようですが、難しいです。 ㅜㅜ
    よく見ていきます

    応答
    • Björkという WordPress テーマがありますね。 WordPress リポジトリに登録されたテーマの一つですね。 韓国では、このテーマのユーザーはそれほど多くないようです。 配送先住所を隠すコードは WooCommerceで提供するフックを利用するので、テーマに関係なく動作します。 Bjorkでしか機能しない場合は、このテーマが WooCommerceと正しく互換性がない可能性があります。 テーマ開発者にこの問題を問い合わせることもできます。

      応答
  2. もし訪問受領時にのみアドレスフィールドを削除したいのですこの場合、どのようにしてくれればいいですか? 訪問受領時という条件だけ入るなるのにどこを作業するかどう調べる必要でしょうか? 現在は訪問受領といってもアドレスを入力する必要がしましたよ。 決済時にアドレスは芽削除したが、配送先住所は残しておかなければならすると思います。
    初歩的な質問だと申し訳ありません。

    応答