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文件

2022060416012394

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

    case 'editpost'

PS:大概在224行

2022060416030160

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

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

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

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