当ショップの商品はテスト用の為の仮の物です。注文されても商品が届く事はありません。請求書が届きますが、実際の金品を請求するものではありません。
クーポンコード 7prvkjtz お買い物毎に割引¥1,000
クーポンコード v2tv97kd 商品毎に割引¥500

ドキュメント

1独自のフォントを利用する 2テンプレートを利用して出力する PDF を変更する 3マーケットプレイス型のサイト対応とフィルター 4書式関連 5送信メール関連 6顧客入力関連

マウスオーバーか長押しで説明を表示。

カスタマイズ3

マーケットプレイス(マルチベンダー)型のサイトに対応

マーケットプレイス(マルチベンダー)型のサイトとは、自サイトの中に、複数の販売業者を入れて運営するショッピングサイトの事です。WooCommerce は標準で対応していないので、何らかのプラグイン(無料・有料)を入れる必要があります。無料のものを幾つか見てみましたが、見たものは全て、WordPressユーザー単位で販売業者を切り分けていました。また、独自のユーザー用の管理画面を所有し、WordPress の管理画面が見えないようにしているプラグインがほとんどなので、PDF Invoice Japan for WooCommerce の管理画面をユーザーに見せるようにするのは現実的でありません。そこで、すべてフィルターで対応する事にしました。

WooCommerce は、商品 ID を持ちますが、その ID を作成したユーザー ID を、PDF Invoice Japan for WooCommerce の中で取得し、フィルターに受け渡します。フィルター内では、WordPressユーザー ID で処理を振り分けていただくという形になります。

以下は、各販売者独自のものになり、必須と思われるものの例です。

/** ==================================================
 * 「店舗の郵便番号」
 * マーケットプレイス型サイト運用で販売者単位で変更する場合は
 * $vendor_id で振り分ける
 * invoice_japan_store_postcode
 */
add_filter(
    'invoice_japan_store_postcode',
    function( $store_postcode, $vendor_id ) {
        /* case の番号は、販売者のユーザーIDを指定 */
        switch ( $vendor_id ) {
            case 3:
                $store_postcode = '123-4567';
                break;
            case 5:
                $store_postcode = '765-4321';
                break;
        }
        return $store_postcode;
    },
    10,
    2
);
/** ==================================================
 * 「店舗の住所」
 * マーケットプレイス型サイト運用で販売者単位で変更する場合は
 * $vendor_id で振り分ける
 * invoice_japan_store_address
 */
add_filter(
    'invoice_japan_store_address',
    function( $store_address, $vendor_id ) {
        /* case の番号は、販売者のユーザーIDを指定 */
        switch ( $vendor_id ) {
            case 3:
                $store_address = '東京都テスト区てすと町123';
                break;
            case 5:
                $store_address = '東京都てすと区テスト町321';
                break;
        }
        return $store_address;
    },
    10,
    2
);
/** ==================================================
 * 「店舗の付記情報」
 * マーケットプレイス型サイト運用で販売者単位で変更する場合は
 * $vendor_id で振り分ける
 * (注)改行コード "\n" を付加して改行する
 * invoice_japan_add_text
 */
add_filter(
    'invoice_japan_add_text',
    function( $add_text, $vendor_id ) {
        /* case の番号は、販売者のユーザーIDを指定 */
        switch ( $vendor_id ) {
            case 3:
                $add_text = 'Tel 03-4567-8091' . "\n";
                $add_text .= 'Fax 03-4567-8092';
                break;
            case 5:
                $add_text = 'Tel 06-5674-9801' . "\n";
                $add_text .= 'Tel 06-5674-9802';
                break;
        }
        return $add_text;
    },
    10,
    2
);
/** ==================================================
 * 「インボイス番号」
 * マーケットプレイス型サイト運用で販売者単位で変更する場合は
 * $vendor_id で振り分ける
 * invoice_japan_number
 */
add_filter(
    'invoice_japan_number',
    function( $invoice_number, $vendor_id ) {
        /* case の番号は、販売者のユーザーIDを指定 */
        switch ( $vendor_id ) {
            case 3:
                $invoice_number = 'T2345678901201';
                break;
            case 5:
                $invoice_number = 'T5678901201234';
                break;
        }
        return $invoice_number;
    },
    10,
    2
);
/** ==================================================
 * 「備考」
 * マーケットプレイス型サイト運用で販売者単位で変更する場合は
 * $vendor_id で振り分ける
 * invoice_japan_remark_{order(注文)か、refund(払い戻し)}_{決済方法(設定->決済のクエリパラメータ section の値) }
 */
add_filter(
    'invoice_japan_remark_order_bankjp',
    function( $remark, $vendor_id ) {
        /* case の番号は、販売者のユーザーIDを指定 */
        switch ( $vendor_id ) {
            case 3:
                $remark = '〇×銀行の口座へお振込みください。';
                break;
            case 5:
                $remark = '×△銀行の口座へお振込みください。';
                break;
        }
        return $remark;
    },
    10,
    2
);
/** ==================================================
 * 「払戻明細書の払戻方法」
 * マーケットプレイス型サイト運用で販売者単位で変更する場合は
 * $vendor_id で振り分ける
 * invoice_japan_refund_text_{決済方法(設定->決済のクエリパラメータ section の値) }
 */
add_filter(
    'invoice_japan_refund_text_bankjp',
    function( $refund_text, $vendor_id ) {
        /* case の番号は、販売者のユーザーIDを指定 */
        switch ( $vendor_id ) {
            case 3:
                $refund_text = '銀行振込';
                break;
            case 5:
                $refund_text = '現金書留';
                break;
        }
        return $refund_text;
    },
    10,
    2
);
/** ==================================================
 * 「手数料」
 * マーケットプレイス型サイト運用で販売者単位で変更する場合は
 * $vendor_id で振り分ける
 * invoice_japan_fee_text
 */
add_filter(
	'invoice_japan_fee_text',
	function( $fee_text, $vendor_id ) {
		/* case の番号は、販売者のユーザーIDを指定 */
		switch ( $vendor_id ) {
			case 3:
				$fee_text = 'クレジットカード手数料';
				break;
			case 5:
				$fee_text = 'QUICPay 手数料';
				break;
		}
		return $fee_text;
	},
	10,
	2
);
1独自のフォントを利用する 2テンプレートを利用して出力する PDF を変更する 3マーケットプレイス型のサイト対応とフィルター 4書式関連 5送信メール関連 6顧客入力関連

マウスオーバーか長押しで説明を表示。