通过Wordpress处理POST请求


Handle POST Requests through Wordpress

我正在尝试将TrialPay与Wordpress集成。TrialPay可以向我发送POST或GET请求,我必须接收它。当我发送响应时,响应中不能有HTML,只有一个"1"。

我试过重写端点从一些代码有人给我,但在响应中整个主页的HTML包含。

  function wpd_trialpay_endpoint(){
        add_rewrite_endpoint( 'trialpay', EP_PAGES );
   }
  add_action( 'init', 'wpd_trialpay_endpoint' );
   function wpd_trialpay_parse( $request ){
if( array_key_exists( 'trialpay', $request->query_vars ) ){
    $toaward = $_GET['reward_amount'];
    $user = $_GET['sid'];
    if (mycred_add('Points_for_TrialPay_Offer', 1, 1, '%plural% for TrialPay offer completion', $_POST['oid'] )) {
        echo "1";
        //header("HTTP/1.1 200 OK");
 } else {
        echo "Fail!";
        //header("HTTP/1.1 412 Precondition Failed");
    }
    die;
  }
}
 add_action( 'parse_request', 'wpd_trialpay_parse' );

这样做对吗?当我导航到mysite.com/offer/trialpay (/offer是一个空白页面)时,页面输出一个"1"。当我用POST请求测试页面时,它返回整个首页HTML。我错过了什么?

创建init动作钩子并管理回调函数中的所有post和get参数。下面是一个例子:

Add_action('init','callback_function');
Function callback_function(){
// manage get and post variables here
}

这段代码应该在你的插件中或者在functions.php中如果你使用的是主题