我正在尝试将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中如果你使用的是主题