0

Wordpressテーマを作成する他のファイルと同じディレクトリにあるファイルにPaypalIPNリスナーを正常に実装しました。ただし、ユーザーがいくつかの変数を設定するようにします。たとえば、カスタマイズされたダッシュボードを介して$receiver_emailfromWordpressのget_option()関数を設定します。ロードしようとしましたが、渡そうとしている関数と値もwp-load.php認識されますが、ブラウザのURLバーを使用してファイルに直接アクセスした場合に限ります。したがって、IPNシミュレーターパネルで正しい入力を設定しても、IPNを介してVERIFIED支払いを受け取ることができません。どういうわけか、IPN呼び出し中に値が渡されていません。何が間違っている可能性がありますか?get_option()get_option()

4

2 に答える 2

0

IPNリスナーを少し異なる設定にして、WordPressインスタンスに直接ポイントすると簡単です。たとえば、通知URLをdomain.com/?paypal_ipn_result=1に設定してから、プラグインファイルまたはテーマのfunctions.phpファイルに次のようなものを含めます。

add_action( 'template_redirect', 'my_template_redirect' );
function my_template_redirect() {
    if ( ! isset( $_REQUEST['paypal_ipn_result'] ) )
        return;

    // Your IPN stuff goes here, you can use get_option and other things.
}

template_redirectよりも前のフックを使用して、WordPressがリクエストを解析しないようにすることもできます。おそらく、requestフィルターは良い場所である可能性がありinitます。

于 2012-10-15T18:51:21.677 に答える
0

サイト ドメインにパブリック アクセスがあるかどうか、およびファイアウォールの制限があるかどうかを確認します

于 2012-10-16T15:47:55.720 に答える