PayPalでの支払い完了後にユーザーを承認したいですか?カスタムPHPスニペットを使用すると、支払い状況に基づいて自動的にユーザーを承認するように登録フォームを変更することができます。
User Registrationアドオンを使用すると、自動または手動の承認でユーザーをサイトに登録させることができます。しかし、もしあなたが会員制サイトを作成していて、PayPalでの支払いが完了するまでユーザーを承認したくない場合、そのための小さなコードスニペットが必要になります。
このガイドでは、WordPressでこの機能を実現するためのカスタムスニペットをご紹介します。
フォームの作成
まず、ユーザー登録フォームを作成する必要があります。この作業でサポートが必要な場合は、こちらのドキュメントをご覧ください。
フォームを作成したら、フォームビルダーから設定 " ユーザー登録に進みます。ここで、ユーザー認証を有効にするオプションをオンに切り替えます。

次に、[User Activation Method] オプションを[Manual Approval]に設定する必要があります。

PayPalで会費を徴収できるようにする
次に、フォームに「支払い」フィールドを追加し、会員資格を有効にするための金額を指定します。
フィールドを追加したら、フォームビルダーのPayments " PayPal Standardに移動し、Enable PayPal Standard paymentsオプションをオンに切り替えます。

その後、PayPalの支払い設定を行うための追加設定が表示されます。PayPal決済の設定についてさらにサポートが必要な場合は、こちらのドキュメントをご覧ください。
PayPal IPNの設定
このチュートリアルでは、PayPalのInstant Payment Notification (IPN)を有効にして、PayPalが支払いステータスを返すと、あなたのサイトにメッセージが送信され、スニペットがトリガーされるようにします。
インスタントペイメント通知について詳しくは、PayPalのIPNに関するドキュメントをご覧ください。
支払い完了後にユーザーを承認する
さて、いよいよスニペットを追加して、すべてをまとめましょう。スニペットをサイトに追加する際にヘルプが必要な場合は、こちらのチュートリアルをご覧ください。
上記のスニペットはフォームID5でのみ実行されます。このスニペットをすべてのユーザー登録フォームで実行したい場合は、このスニペット内のブロックを削除するか、コメントアウトしてください。
他に知っておく必要があるのは、EmailフィールドのIDだけです。このチュートリアルでは、Emailフォーム・フィールドのフィールドIDは3です。

注:フィールドまたはフォームIDを見つけるのに助けが必要な場合は、こちらのチュートリアルをご覧ください。
ユーザーがフォームを送信する際、支払いステータスが「完了」以外を返した場合、そのユーザーは「未承認」のままになります。

以上です!これでWPFormsを使用してWordPressで支払い状況に基づいてユーザーの役割を割り当てる方法を学びました。
次に、失敗した PayPal からの支払いをフォームロッカーの設定から除外したいですか?フォームロッカーの設定で失敗した PayPal からの支払いを除外する方法についてはチュートリアルをご覧ください。