Wordpress ajax apiを使用して、php関数の結果を.post()ajaxでクライアントに送信しています。問題は、数値だけでなく0を返す値です。したがって、数値が「3」の場合、「30」になります。
したがって、ここにphp関数があり、user_idを取得して、そのユーザーに対応する未表示のコメント数を返します。
add_action("wp_ajax_return_unseen_comment_count","return_unseen_comment_count");
function return_unseen_comment_count() {
$user_id = $_POST['userId'];
$count = get_unseen_comment_count($user_id);
echo $count;
}
$ countの後に「test」という単語を配置すると、「3test0」が表示されます。
次に、間隔を使用して、新しい見えないコメントがないか関数をチェックします。
$(document).ready(function() {
var userId = fodAjax.user_id;
var cmntCount = $(".cmnt-cnt").text();
if (userId > 0) {
setInterval(function() {
data = {
action: 'return_unseen_comment_count',
userId: userId
};
$.post(ajaxurl, data, function (response) {
console.log(response);
});
}, 10000); //10 seconds
}
});
今度get_unseen_comment_count($user_id)
は別の関数でカウントをテンプレートに表示するために使用し、正しい値「3」を返すので、0を追加する必要がある余分なことは何もしていません。ここで何が欠けていますか?