WordPress网站建设宣传图片

WordPress文章自动生成随机阅读量(点击数)方法

释放双眼,带上耳机,听听看~!

说明

有时候我们进行数据迁移阅读量出问题、或者是站点上线初期、采集的文章之后不想要阅读量都是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' );

注意:如果网站文章数量比较多,上面的代码加入到网站后,会出现明显的卡顿一些时间。不过使用完就删除了。问题不大的。

代码解释

  1. 上面代码定义了一个名为update_post_views的函数,用于更新文章的阅读数量。
  2. 在函数中,首先创建了一个$args数组,用于指定要查询的文章类型为’post’,状态为’publish’,并且希望获取所有文章而不是分页显示。
  3. 接下来使用WP_Query类根据上述参数创建了一个查询对象$query
  4. 然后检查是否有符合查询条件的文章,如果有,则进入循环。
  5. 在循环中,使用the_post方法设置文章的全局变量,然后通过get_post_meta函数获取文章的’views’字段的值。
  6. 如果’views’字段不存在或者其值小于200,则使用rand函数生成一个介于300到3000之间的随机数,并使用update_post_meta函数更新文章的’views’字段值为这个随机数。
  7. 最后使用wp_reset_postdata方法重置文章数据。
  8. 最后,通过add_actionupdate_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文件

wordpress网站根目录wp-admin目录文件列表
wordpress网站根目录wp-admin目录文件列表

打开找到的post.php文件,搜索下面代码:

case 'editpost'

PS:大概在224行

post.php文件代码
post.php文件代码

在上面这行代码下加以下代码即可:

$_POST['metakeyselect'] = "views";
$_POST['metavalue'] = mt_rand(0,50);

其中mt_rand(0,50)中的0,50就是需要随机生成阅读数量的访问,你可以自己设置,例如:300,2000。

添加后保存,再发布文章,即会自动随机生成阅读量,而不再默认是0了。

给TA打赏
共{{data.count}}人
人已打赏
WordPress技巧

WordPress导入数据库报错 Unknown collation: utf8mb4_unicode_520_ci

2021-10-16 20:16:09

WordPress技巧

WordPress设置文章部分内容回复可见

2022-6-7 20:00:46

2 条回复 A文章作者 M管理员
  1. 实测没有用!

    • 我实测是有效的奥,你注意你的wp版本(我使用的是5.9的wordpress)和使用的主题,你可以问下的你的主题开发者。

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
展开目录