刷新不累加的wordpress文章浏览次数统计功能

刷新不累加的WordPress文章浏览次数统计功能

WordPress文章浏览次数统计功能十分重要,对于评估文章受欢迎程度和读者的参与度非常有帮助。然而,由于一些缓存的问题,WordPress文章浏览次数统计经常产生累加的问题,使得文章的浏览次数被高估。

为了解决这个问题,我们可以使用简单的代码片段来刷新不累加的WordPress文章浏览次数统计功能。下面是详细的步骤。

步骤1:创建一个新的WordPress页面模板

首先,我们需要在WordPress主题文件夹中创建一个新的页面模板,并将其命名为“刷新不累加的文章统计模板”。在这个模板中,我们需要添加以下代码:


<?php
/*
Template Name: Refreshable Page Count
*/
?>

<?php while ( have_posts() ) : the_post(); ?>

    <?php
    	// 刷新帖子浏览次数
    	if(isset($_COOKIE['post_view_count_'.get_the_ID()])) {
    		$count = $wpdb->get_var("SELECT count FROM {$wpdb->prefix}post_views WHERE id_post = ".get_the_ID()."");
    		$count++;
    		$wpdb->query("UPDATE {$wpdb->prefix}post_views SET count = {$count} WHERE id_post = ".get_the_ID()."");
    		setcookie('post_view_count_'.get_the_ID(), "1", time()+3600*24, "/");
    		wp_reset_postdata();
    	} else {
    		$count = $wpdb->get_var("SELECT count FROM {$wpdb->prefix}post_views WHERE id_post = ".get_the_ID()."");
    		echo $count;
    	}
     ?>

<?php endwhile; // End of the loop. ?>

步骤2:添加文章浏览次数数据库表格

接下来,我们需要添加一个名为“wp_post_views”的数据库表格,以存储每个文章的浏览次数。您可以使用以下代码来创建这个表格:


<?php
// 创建帖子浏览次数表格
function create_post_views_table() {
	global $wpdb;
	$table_name = $wpdb->prefix . "post_views";
	$charset_collate = $wpdb->get_charset_collate();

	$sql = "CREATE TABLE $table_name (
		  id_post int(11) NOT NULL,
		  count int(11) NOT NULL,
		  PRIMARY KEY  (id_post)
	) $charset_collate;";

	require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
	dbDelta( $sql );
}

register_activation_hook( __FILE__, 'create_post_views_table' );

步骤3:设置浏览次数cookie

在我们添加的新代码片段中,我们使用了一个名为“post_view_count_文章ID”的cookie,其在24小时后过期。这将确保用户只能一次刷新文章的浏览次数。

步骤4:在文章模板中调用新的页面模板

最后,我们需要在文章模板中调用我们创建的新的页面模板。在模板中包含以下代码:


<?php get_template_part( 'path/to/template/refreshable-page-count' ); ?>

这是一个简单的解决方案,可确保WordPress文章的浏览次数统计不受缓存的累加问题影响。希望这篇文章能够帮助您解决您的WordPress文章浏览次数统计问题。

晓白博客网版权所有,原文地址https://www.xbnb.cn/5389
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容