说明
有时候我们进行数据迁移阅读量出问题、或者是站点上线初期、采集的文章之后不想要阅读量都是0的情况,就可以使用这个方法增加阅读量,营造下站点的”气氛”,不过一些企业站或者是博客,我是不建议这样做的使用随机设置浏览量的操作的,我的博客就没用,哪些文章热门一眼就可以通过阅读量看出来了。
下面的方法都假设你的WordPress网站的浏览量都是使用views作为阅读量的字段,通常大部分情况下主题都是会使用这个字段,如果你的网站使用了其他阅读量的插件则可以通过更改下views这个字段的部分去实现。
其中对于需要加入到主题functions.php文件功能代码,都推荐你使用WPCode这款代码片段插件一起搭配使用,插件介绍请你看:WordPress代码片段插件 WPCode。
最后,为了避免未知的问题:请备份数据,请备份数据,请备份数据。
所有文章批量设置随机阅读量
把下面代码添加到你网站主题的functions.php文件中
// 生成随机阅读数量
function update_post_views() {
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => -1,
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
$views = get_post_meta( get_the_ID(), 'views', true ); // 获取views字段
// 如果views字段不存在或者小于300
if ( !$views || $views < 200 ) {
$random_views = rand(300, 3000); // 生成300到3000之间的随机数
update_post_meta( get_the_ID(), 'views', $random_views ); // 更新views字段
}
}
wp_reset_postdata();
}
}
add_action( 'init', 'update_post_views' );
注意:如果网站文章数量比较多,上面的代码加入到网站后,会出现明显的卡顿一些时间。不过使用完就删除了。问题不大的。
代码解释
- 上面代码定义了一个名为
update_post_views
的函数,用于更新文章的阅读数量。 - 在函数中,首先创建了一个
$args
数组,用于指定要查询的文章类型为’post’,状态为’publish’,并且希望获取所有文章而不是分页显示。 - 接下来使用
WP_Query
类根据上述参数创建了一个查询对象$query
。 - 然后检查是否有符合查询条件的文章,如果有,则进入循环。
- 在循环中,使用
the_post
方法设置文章的全局变量,然后通过get_post_meta
函数获取文章的’views’字段的值。 - 如果’views’字段不存在或者其值小于200,则使用
rand
函数生成一个介于300到3000之间的随机数,并使用update_post_meta
函数更新文章的’views’字段值为这个随机数。 - 最后使用
wp_reset_postdata
方法重置文章数据。 - 最后,通过
add_action
将update_post_views
函数与WordPress的’init’动作挂钩,使得在WordPress初始化时会执行update_post_views
函数。
发布时候生成随机阅读量
添加功能函数到functions.php文件 建议
把下面代码添加到你网站主题的functions.php文件中
function add_random_views($post_id) {
// 指定阅读量的范围
$min_views = 100;
$max_views = 500;
// 生成随机阅读量
$random_views = rand($min_views, $max_views);
// 获取当前文章的阅读量
$current_views = get_post_meta($post_id, 'views', true);
// 如果当前阅读量为空,则设置为0
if (empty($current_views)) {
$current_views = 0;
}
// 更新文章的阅读量
update_post_meta($post_id, 'views', $current_views + $random_views);
}
// 添加文章发布时的钩子
add_action('publish_post', 'add_random_views');
代码解释
- 上述代码创建一个名为add_random_views的函数。
- 你需要把它添加到你主题的functions.php文件使用。
- 这个函数使用了WordPress的动作钩子(action hook)publish_post,这意味着当一篇文章被发布时,WordPress会调用add_random_views函数。
- 在add_random_views函数中,我们首先定义了指定阅读量的范围,即 min_views和max_views。然后,我们使用PHP的rand函数来生成在指定范围内的随机阅读量,并将其存储在$random_views变量中。
- 代码接着使用WordPress的get_post_meta函数来获取当前文章的阅读量。如果当前阅读量为空,我们将其设置为0。
- 然后使用WordPress中的update_post_meta函数来更新文章的阅读量,将当前阅读量与随机生成的阅读量相加,并将结果存储回文章的阅读量中。
- 这样,当你发布一篇文章时,add_random_views函数会自动被调用,随机的阅读量将会被添加到文章中。这样,你就可以在发布文章时自动添加指定范围内的随机阅读量了。
修改源代码文件 不建议
找到wordpress网站根目录wp-admin目录下的post.php文件
打开找到的post.php文件,搜索下面代码:
case 'editpost'
PS:大概在224行
在上面这行代码下加以下代码即可:
$_POST['metakeyselect'] = "views";
$_POST['metavalue'] = mt_rand(0,50);
其中mt_rand(0,50)中的0,50就是需要随机生成阅读数量的访问,你可以自己设置,例如:300,2000。
添加后保存,再发布文章,即会自动随机生成阅读量,而不再默认是0了。
实测没有用!
我实测是有效的奥,你注意你的wp版本(我使用的是5.9的wordpress)和使用的主题,你可以问下的你的主题开发者。