2015-02-23 4 views
0

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

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-страницы.

 Смежные вопросы

  • Нет связанных вопросов^_^