我有一个用户跟随系统,它允许我的用户基本上订阅彼此的帖子很好,它现在工作没有问题,但我试图弄清楚如何实现一个实时通知系统,以便当用户获得新的关注者或订阅者,他们会在收到新关注者或订阅者后的一分钟内得到通知。我将使用像sweetalert或achtung这样的实际通知,这部分很好,但我不明白该怎么做的部分是将正确的函数挂钩到wordpress Heartbeat API。如果有人可以请解释我如何将以下php和ajax函数放入wordpress Heartbeat API,我们将不胜感激!感谢
检查用户是否跟随另一个用户的功能(不确定此功能是否相关):
function tb_is_following( $user_id, $follow_id ) {
$following = tb_get_following( $user_id, $follow_id );
$ret = false; // is not following by default
if ( is_array( $following ) && in_array( $follow_id, $following ) ) {
$ret = true; // is following
}
return $ret;
}
以下是负责关注和取消用户的ajax函数:
function tb_process_new_follow() {
if ( isset( $_POST['user_id'] ) && isset( $_POST['follow_id'] ) ) {
if( tb_follow_user( absint( $_POST['user_id'] ), absint( $_POST['follow_id'] ) ) ) {
echo 'success';
} else {
echo 'failed';
}
}
die();
}
add_action('wp_ajax_follow', 'tb_process_new_follow');
function tb_process_unfollow() {
if ( isset( $_POST['user_id'] ) && isset( $_POST['follow_id'] ) ) {
if( tb_unfollow_user( absint( $_POST['user_id'] ), absint( $_POST['follow_id'] ) ) ) {
echo 'success';
} else {
echo 'failed';
}
}
die();
}
add_action('wp_ajax_unfollow', 'tb_process_unfollow');
最后这是我目前用于AJAX的jQuery:
jQuery(document).ready(function($) {
/*******************************
follow / unfollow a user
*******************************/
$( '.follow-links a' ).on('click', function(e) {
e.preventDefault();
var $this = $(this);
var data = {
action: $this.hasClass('follow') ? 'follow' : 'unfollow',
user_id: $this.data('user-id'),
follow_id: $this.data('follow-id'),
nonce: tb_vars.nonce
};
$.post( tb_vars.ajaxurl, data, function(response) {
console.log(data);
if( response == 'success' ) {
$('.follow-links a').toggle();
} else {
console.log( tb_vars.processing_error );
}
} );
});
});
如果您需要更多信息,请与我们联系。