Показывать количество отправленных приглашений

У меня есть функция, которая отправляет личное сообщение текущего события для приглашения, который является CPT. Теперь я хочу показать общее количество отправленных приглашений. Я использую BuddyPress, кстати. Вот код:

function invite_friend_to_event(){
$message = 'Check out this event! <br><a href="'.$_POST['event_url'].'">'.$_POST['event_title'].'</a>';
$msg_args = array(
'sender_id' => get_current_user_id(), // 1 = admin
'recipients' => $_POST["user_id"],
'subject' => 'Event invitation!',
'content' => $message
);
$thread_id = messages_new_message($msg_args);

echo "Invitation sent!";
die();
}

add_action('wp_ajax_invite_friend', 'invite_friend_to_event');
add_action( 'wp_ajax_nopriv_invite_friend', 'invite_friend_to_event' );

И мой шаблон внешнего интерфейса:

<div class="event invite-friends">

<script>
function invite_friends(userid){
jQuery.ajax({
url:"<?php echo admin_url('admin-ajax.php'); ?>",
type:'POST',
data: {
action : 'invite_friend',
user_id : userid,
event_url : '<?php the_permalink();?>',
event_title : '<?php echo $event->get_title(); ?>'
},
dataType : 'html',
success:function(results)
{
alert(results);
}
});
}
</script>
<h4 class="small">Invite Friends</h4>
<?php
$uid = get_current_user_id();
$friends_list = friends_get_friend_user_ids( $uid, false, true );
foreach($friends_list as $friend):
$friend_obj = get_userdata($friend['user_id']);
?>
<div class="invitee">
<span class="small"><?php echo $friend_obj->first_name." ".$friend_obj->last_name; ?></span>
<?php echo get_avatar( $friend['user_id'], 64 ); ?>
<button class='btn-success btn' onclick="invite_friends('<?php echo $friend['user_id']; ?>');">
<span class='small white'>Invite</span></button>
</div>
<?php endforeach; ?>
</div>

0

Решение

Как вы делаете пост Ajax для admin-ajax.php затем этот сценарий (кроме того, что он делает в данный момент, то есть отправка приглашения) может увеличить счетчик в базе данных где-нибудь.

Если вы хотите использовать новый увеличенный счетчик после каждого приглашения, просто верните его как часть ответа ajax и затем покажите где-нибудь на странице. Если вас это не волнует, вы можете просто получить количество приглашений из базы данных при следующей перезагрузке страницы php.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector