Woocommerceチェックアウトに配送日フィールドを追加する方法


方法1: プラグインを使用する方法

  1. Woocommerce Delivery Dateというプラグインをインストールおよび有効化します。
  2. プラグインの設定ページに移動し、配送日フィールドの表示方法や必須設定などをカスタマイズします。

方法2: テーマのfunctions.phpファイルを編集する方法

  1. テーマのfunctions.phpファイルを開きます(事前にバックアップを取ることをお勧めします)。
  2. 以下のコードを追加します:
// チェックアウトページに配送日フィールドを追加する
add_action( 'woocommerce_after_order_notes', 'add_delivery_date_field' );
function add_delivery_date_field( $checkout ) {
   echo '<div id="delivery_date_field"><h3>' . __('配送日') . '</h3>';
   woocommerce_form_field( 'delivery_date', array(
      'type'          => 'date',
      'class'         => array('delivery-date-field form-row-wide'),
      'required'      => true,
   ), $checkout->get_value( 'delivery_date' ));
   echo '</div>';
}
// 配送日フィールドのバリデーション
add_action('woocommerce_checkout_process', 'validate_delivery_date_field');
function validate_delivery_date_field() {
   if ( ! $_POST['delivery_date'] )
      wc_add_notice( __( '配送日を入力してください' ), 'error' );
}
// 配送日を注文メタデータに保存する
add_action( 'woocommerce_checkout_create_order', 'save_delivery_date_to_order_meta_data' );
function save_delivery_date_to_order_meta_data( $order ) {
   if ( $_POST['delivery_date'] )
      $order->update_meta_data( 'Delivery Date', sanitize_text_field( $_POST['delivery_date'] ) );
}

上記のコードは、チェックアウトページに配送日フィールドを追加し、バリデーションを行い、配送日を注文メタデータに保存します。

これらの方法を使用すると、Woocommerceチェックアウトに配送日フィールドを追加することができます。プラグインを使用する方法は簡単で便利ですが、テーマのfunctions.phpファイルを編集する方法はより柔軟性があります。必要に応じてコードをカスタマイズしてください。