用AJAX和onclick批量更新Post Meta

时间:2014-05-21 07:02:12

标签: php jquery ajax wordpress

我想将wp_query中的帖子元值更新为点击时的其他值。我基本上做的是制作通知泡泡(如stackoverflow)。

  1. wp_query,其中包含元值'未读' - 工作
  2. 在登录用户的显示名称 - 工作
  3. 上显示计数气泡
  4. 点击通知后,隐藏气泡并使用ajax更改post meta值,仅适用于来自未读'的wp_query中的帖子。阅读'因此只有当有一个新元素值为“未读”的新帖子时,才会显示计数。 - 怎么样?
  5. 显示包含元值的所有最新帖子的下拉菜单'阅读' - 也许是另一个问题?
  6. 这是我计算泡泡的代码。

    add_shortcode('notify', 'notify_member');
        function notify_member() {
            global $current_user;
            get_currentuserinfo();
            $userid = $current_user->ID;
                $args = array(
                    'posts_per_page' => '-1',
                    'post_type' => 'answer',
                    'post_status' => 'publish',
                    'author__not_in' => $userid, //exclude user posts
                    'meta_query' => array(
                            'relation' => 'AND',
                        array(
                            'key' => 'question_owner_id'
                            'value' => $userid, //only show posts for the user
                            'compare' => '='
                        ),
                            array(
                                'key' => '_read_answer'
                                'value' => 'unread', //only show unread posts
                                'compare' => '='
                            ),
                        )
                    );
                    $questions = new WP_Query( $args );
                    $html = '';
                    $html .= '<a href="#" class="count">'.$questions->found_posts.'</a>'; //total count
                    return $html;
        }
    

    我看过像ajax和投票教程,他们一次解决一个帖子。我将需要以下内容来处理查询中所有返回的帖子并同时更改。

                if( $questions->have_posts() ) {
                while ( $questions->have_posts() ) { $questions->the_post();
                     update_post_meta( $post->ID, '_read_answer', 'read' ); 
                    }
                }
    

    我没有想法,欢迎任何方向。谢谢。附:我不是编码员,所以请稍微解释一下。

0 个答案:

没有答案