方法1: プラグインを使用する方法
- Woocommerce Delivery Dateというプラグインをインストールおよび有効化します。
- プラグインの設定ページに移動し、配送日フィールドの表示方法や必須設定などをカスタマイズします。
方法2: テーマのfunctions.phpファイルを編集する方法
- テーマのfunctions.phpファイルを開きます(事前にバックアップを取ることをお勧めします)。
- 以下のコードを追加します:
// チェックアウトページに配送日フィールドを追加する
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ファイルを編集する方法はより柔軟性があります。必要に応じてコードをカスタマイズしてください。