我正在尝试编写一个简单的Wordpress插件,它会更新自定义字段值并将其递增1,然后回显结果并将其传回我的javascript代码。由于某种原因,回调函数返回的数据总是附加一个额外的0。
function like_post_callback() {
$clicked = $_POST['clickedOn'];
$id = $_POST['postID'];
if($clicked == 0) $key = "like";
else $key = "reallyLike";
$prevLikes = get_post_meta($id, $key, true); //true, so we only return a single value
$likes = 1;
if($prevLikes == ""){
add_post_meta($id, $key, $likes);
} else{
$likes = $prevLikes + 1;
update_post_meta($id, $key, $likes);
}
echo $likes;
}
这就是所谓的:
$.post("<?php bloginfo( 'wpurl' ); ?>/wp-admin/admin-ajax.php",
{ action: "like_post", clickedOn: which, postID: "<?php the_ID(); ?>"}, function(data){
alert(data);
$("#" + clicked).html(text + " (" + data + ")");
});
一切正常,出于某种原因,我只是在数据中加了0,我不知道它来自哪里。
答案 0 :(得分:0)
我需要在die();
中添加like_post_callback
作为最后一行,因为我需要回显结果并停止正常的0返回值。
答案 1 :(得分:0)
admin-ajax
始终返回默认值“0”作为输出。您必须使用die();
来阻止wordpress调用其返回零的默认函数。 die();
将终止脚本返回之前回复的内容。