Category
Archives
Cocotiie
Trial And Error!やってみよう!の精神でWeb制作をしています。初心者の方にも伝わるよう、心がけています。少しでも誰かの助けになれれば嬉しいです。宜しくお願い致します。

2006年:Web制作に関する覚書きブログをはじめる。

2018年:Cocotiie(ココッティー)として運営開始。
このサイトは快適なテーマ「SWELL」を使用していますSWELLについて

[WooCommerce] チェックアウトにチェックボックスを追加する方法

WooCommerce

チェックアウトページ(住所等の情報と支払方法のページ)に質問の項目を追加する方法です。今回は、「インボイス対応の請求書」を希望するか否かのチェックボックスを付けます。メールにも、受注リストにも情報が記載される様になっています。

INDEX

チェックボックスの仕様

  • 質問は「インボイス対応」とする
  • 必要な方だけチェックを入れてもらうタイプ
  • 必要な場合(チェックあり)は1とする
  • 不要な場合は何も表示しない
  • メールにも受注情報にもチェックを入れた時だけ記載される
woo チェックボックス

コードを書く

子テーマのfunction.phpに追記する。

function invoice_field($checkout){
	woocommerce_form_field( 'custom_checkbox', array(
        'type'          => 'checkbox',
        'label'         => __('インボイス対応'),
        'required'  => false,
    ), $checkout->get_value( 'custom_checkbox' ));
  }
  add_action( 'woocommerce_before_order_notes', 'invoice_field' );

function invoice_field_update_order_meta( $order_id ) {
	if ( ! empty( $_POST['custom_checkbox'] ) ) {
		update_post_meta( $order_id, '_custom_checkbox', sanitize_text_field( $_POST['custom_checkbox'] ) );
	}
}
add_action( 'woocommerce_checkout_update_order_meta', 'invoice_field_update_order_meta' );

function display_order_meta( $order ){
    $invoice_req = get_post_meta( $order->get_id(), '_custom_checkbox', true);    
    echo 'インボイス対応 : ';
    // $invoice_req の値が1の場合、"必要" を表示
    if ($invoice_req == 1) {
        echo '必要';
    } else {
        echo '不要';
    }
}
add_action( 'woocommerce_admin_order_data_after_billing_address', 'display_order_meta');

// order-receivedメッセージを表示
function display_order_received_meta( $order_id ) {
    $invoice_req = get_post_meta( $order_id, '_custom_checkbox', true);
    
    if ($invoice_req == 1) {
        echo '<p>インボイス対応: 必要</p>';
    } else {
        echo '<p>インボイス対応: 不要</p>';
    }
}
add_action( 'woocommerce_thankyou', 'display_order_received_meta', 10, 1 );

// メールの注文詳細情報に追加
function add_custom_message_to_order_email( $order, $sent_to_admin, $plain_text, $email ) {
    $invoice_req = get_post_meta( $order->get_id(), '_custom_checkbox', true);
    
    if ($invoice_req == 1) {
        $custom_message = "インボイス対応: 賜りました。\n"; // 改行を追加
        echo $custom_message;
    }
}
add_action( 'woocommerce_email_order_details', 'add_custom_message_to_order_email', 10, 4 );

インボイス制度対応の請求書プラグイン

もし、✓ボックスを付けずにお客様全員にインボイス制度対応の請求書を送付するなら、「PDF Invoice Japan for WooCommerce」がお勧めです。完璧!

Wooでクレジットカード決済

月額費用が無いSquareがお勧めです。

WoocommerceにはSquare決済と連携できるプラグインが用意されています。正し、サーバーのスペックに注意が必要な様です。

そんな場合は、サイトからSquareへ直接決済しなくても、請求書払いとして手動で請求書を発行できます。特に請求書払いは、クレジット決済手数料をお客様に負担頂く際にお勧めです。Wooなら手数料の計算もパーセンテージが加算額を入力するだけであっという間にできます。

よかったらシェアお願いします
  • URLをコピーしました!
  • URLをコピーしました!

コメント ※ハンドルネームでお願いします

コメントする

INDEX