我正在尝试将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。我错过了什么?
答案 0 :(得分:2)
创建一个init动作钩子并管理回调函数中的所有post和get参数。这是一个例子:
Add_action('init','callback_function');
Function callback_function(){
// manage get and post variables here
}
如果你正在使用主题,这段代码应该放在你的插件中或者在functions.php里面