浮萍漂泊本无根
天涯游子君莫问

如何使用Ajax在WordPress中实时更新文章浏览量

创建处理Ajax请求的PHP函数

首先,你需要在你的WordPress主题的functions.php文件中添加一个用于处理浏览量更新的函数。这个函数将检查传递给它的文章ID,然后增加该文章的浏览量。

function update_post_views_count() {
    if( isset($_POST['post_id']) ) {
        $post_id = $_POST['post_id'];
        $count_key = 'post_views_count';
        $count = get_post_meta($post_id, $count_key, true);
        if($count==''){
            $count = 0;
            delete_post_meta($post_id, $count_key);
            add_post_meta($post_id, $count_key, '1');
        }else{
            $count++;
            update_post_meta($post_id, $count_key, $count);
        }
    }
    wp_die(); // 这是为了遵循WordPress的标准
}
add_action('wp_ajax_nopriv_update_post_views', 'update_post_views_count');
add_action('wp_ajax_update_post_views', 'update_post_views_count');

在主题中添加JavaScript代码

接下来,你需要在WordPress主题中添加JavaScript代码,这段代码会在文章页面加载时异步发送Ajax请求,用来更新浏览量。你可以将以下代码添加到主题的footer.php文件中,或者通过wp_enqueue_script方法加载一个外部JavaScript文件。

<script type="text/javascript">
jQuery(document).ready(function($) {
    var post_id = <?php echo get_the_ID(); ?>;
    $.ajax({
        type: "POST",
        url: "<?php echo admin_url('admin-ajax.php'); ?>",
        data: {
            action: "update_post_views",
            post_id: post_id
        },
        success: function(response){
            // 如果需要,这里可以添加一些成功更新后的逻辑
        }
    });
});
</script>

注意事项

  • 确保你已经在WordPress后台启用了jQuery,因为上述JavaScript代码依赖于jQuery。
  • 上述实现每次页面加载时都会增加浏览量。根据你的需求,你可能希望添加额外的逻辑来防止同一用户的多次访问在短时间内重复计数。
  • 考虑到安全性,确保对传递的数据进行验证和清理,避免潜在的安全漏洞。

使用Ajax来更新浏览量可以确保即使在启用了缓存的情况下,文章的浏览量也能被准确地记录和更新。

赞(0) 打赏
未经允许不得转载:主题秀 » 如何使用Ajax在WordPress中实时更新文章浏览量

评论 抢沙发

评论前必须登录!

 

更好的WordPress主题

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册