Simple WordPress Membership で新規登録時に一括商品を追加する方法
Simple WordPress Membership で新規会員登録時に、複数の商品を一括で追加したい場合があります。そのようなニーズに応えるために、今回は functions.php に簡単なコードを追記するだけで対応可能な方法を紹介します。
実現方法
下記のコードをテーマの functions.php
に追記してください。このコードを利用すると、特定のボタンIDを持つ購入ボタンが押された際に、複数の商品をまとめて Stripe の購入セッションに追加することができます。
コード例
function custom_stripe_sca_session_opts( $opts, $button_id ) {
if ( $button_id == 8572 ) { // 特定のボタンIDをチェック
$opts['line_items'] = array(
array(
'price' => 'price_xxxxxxx001', // 商品1の価格ID
'quantity' => 1 // 数量
),
array(
'price' => 'price_xxxxxxx002', // 商品2の価格ID
'quantity' => 1 // 数量
),
);
}
return $opts;
}
// フィルターを追加
add_filter( 'swpm_stripe_sca_session_opts', 'custom_stripe_sca_session_opts', 10, 2 );
コードの解説
1. ボタンIDの指定
$button_id
で、特定の購入ボタンのIDを指定しています。この例では、8572 を対象としています。ご自身の設定に合わせて変更してください。
2. 商品の追加
Stripe の line_items
配列をカスタマイズして、複数の商品を指定しています。
各項目の意味は以下の通りです:
price
: Stripe ダッシュボードで取得できる商品価格のIDを指定。quantity
: 商品の数量を指定。
3. フィルターの利用
add_filter
を使って、Simple WordPress Membership が提供する swpm_stripe_sca_session_opts
フィルターをカスタマイズしています。このフィルターは、Stripe のセッションオプションを変更する際に活用できます。
実装後の動作
このコードを適用すると、特定のボタンIDを持つ購入ボタンをクリックした際に、Stripe の購入画面で複数の商品が自動的に追加されます。以下のようなケースで便利です:
- 会員登録と同時に特定の商品をバンドルで購入させたい。
- 商品の組み合わせを固定化して販売したい。
注意点
- 価格IDの確認
Stripe ダッシュボードから正しいprice
ID を取得してください。IDが間違っていると動作しません。 - テーマのバックアップ
functions.php
を編集する前に、テーマのバックアップを取ることをおすすめします。 - 動作確認
コード追加後は、必ずテスト環境で動作確認を行い、本番環境に適用してください。
まとめ
Simple WordPress Membership で、特定のボタン操作時に複数の商品を一括で追加する方法を紹介しました。このカスタマイズを活用することで、会員登録時に商品をまとめて購入させるシームレスな体験を提供できます。
ご質問やフィードバックがあれば、ぜひコメントでお知らせください!
コメント