分享各种网络资源
是我乃至整个互联网的精髓所在
 您目前所在位置: 站点首页 » WordPress » 代码 » WordPress非插件给文章添加浏览次数
+ 2

WordPress非插件给文章添加浏览次数

  • 无插件实现浏览次数
  • 提取浏览次数最多的文章
  • WordPress非插件给文章添加浏览次数-BanYuner

    现在一篇文章的好坏可能一定程度上面是通过表面的浏览量来体现的,但是我们都是知道的,浏览量这个东西本来就是一个虚的,可以刷出来的,就像淘宝一样,是可以刷的,但是我们依然还是通过插件来实现了。WordPress最开始的时候通过PostViews插件来实现这个功能,但是现在可以通过代码来实现了,代码方面来自WP大学,这里直接附上代码了,代码直接放入functions.php文件中即可:

    无插件实现浏览次数

    /* 访问计数 */
    function record_visitors()
    {
    if (is_singular())
    {
    global $post;
    $post_ID = $post->ID;
    if($post_ID)
    {
    $post_views = (int)get_post_meta($post_ID, 'views', true);
    if(!update_post_meta($post_ID, 'views', ($post_views+1)))
    {
    add_post_meta($post_ID, 'views', 1, true);
    }
    }
    }
    }
    add_action('wp_head', 'record_visitors');
    /// 函数名称:post_views
    /// 函数作用:取得文章的阅读次数
    function post_views($before = '(点击 ', $after = ' 次)', $echo = 1)
    {
    global $post;
    $post_ID = $post->ID;
    $views = (int)get_post_meta($post_ID, 'views', true);
    if ($echo) echo $before, number_format($views), $after;
    else return $views;
    }
    

    那么看了代码之后,我们就摘掉了,浏览次数说白了就是点击一次增量加一,如果我们把增量设定为一个随机数的话,那么浏览量就可想而知了,所以说就是一个虚的。

    相关调用代码如下:

    阅读:<?php post_views(' ', ' 次'); ?>
    

    至于这个调用代码放在哪里,就看个人了。

    提取浏览次数最多的文章

    同时,WP大学也提供了如何提取浏览次数最多的文章这个功能,这里同样直接附上代码了:

    /// get_most_viewed_format
    /// 函数作用:取得阅读最多的文章
    function get_most_viewed_format($mode = '', $limit = 10, $show_date = 0, $term_id = 0, $beforetitle= '(', $aftertitle = ')', $beforedate= '(', $afterdate = ')', $beforecount= '(', $aftercount = ')') {
    global $wpdb, $post;
    $output = '';
    $mode = ($mode == '') ? 'post' : $mode;
    $type_sql = ($mode != 'both') ? "AND post_type='$mode'" : '';
    $term_sql = (is_array($term_id)) ? "AND $wpdb->term_taxonomy.term_id IN (" . join(',', $term_id) . ')' : ($term_id != 0 ? "AND $wpdb->term_taxonomy.term_id = $term_id" : '');
    $term_sql.= $term_id ? " AND $wpdb->term_taxonomy.taxonomy != 'link_category'" : '';
    $inr_join = $term_id ? "INNER JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) INNER JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)" : '';
    // database query
    $most_viewed = $wpdb->get_results("SELECT ID, post_date, post_title, (meta_value+0) AS views FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON ($wpdb->posts.ID = $wpdb->postmeta.post_id) $inr_join WHERE post_status = 'publish' AND post_password = '' $term_sql $type_sql AND meta_key = 'views' GROUP BY ID ORDER BY views DESC LIMIT $limit");
    if ($most_viewed) {
    foreach ($most_viewed as $viewed) {
    $post_ID    = $viewed->ID;
    $post_views = number_format($viewed->views);
    $post_title = esc_attr($viewed->post_title);
    $get_permalink = esc_attr(get_permalink($post_ID));
    $output .= "<li>$beforetitle$post_title$aftertitle";
    if ($show_date) {
    $posted = date(get_option('date_format'), strtotime($viewed->post_date));
    $output .= "$beforedate $posted $afterdate";
    }
    $output .= "$beforecount $post_views $aftercount</li>";
    }
    } else {
    $output = "<li>N/A</li>n";
    }
    echo $output;
    }
    

    通过代码我们可以清楚地看到运用了大量的SQL语句,那么也就是说这段代码会增加数据库的负担,那么这样一来有的用户可能就觉得这个功能呢到底有没有使用必要呢?这个就仁者见仁,智者见智了。如果你的服务器优化的好的话,我相信这点压力还是可以承受的。

    关注我们 打赏 分享此文

    微信扫码,关注我们

    扫码,支持我

    WordPress非插件给文章添加浏览次数

    支付宝(点击图片切换)

    扫码,支持我

    WordPress非插件给文章添加浏览次数

    微信(点击图片切换)

    扫码,手机看

    WordPress非插件给文章添加浏览次数
    匿名

    个人评价:┃草根博主┃站点无技术含量┃文章内容不够吸引人┃转载内容随处可见┃资源均来自网络┃ 分享是我的宗旨,也是这个站点存在意义,分享的东西你现在可能不需要,但是我相信只要在某个时间你需要的时候能在这里找到,那么我就是成功的

    相关推荐

    • WordPress评论上方显示评论用户列表

      WordPress评论上方显示评论用户列表

      一段时间之前,我在我的博客里面添加了下面的功能,这个功能我一开始觉得貌似没有人会喜欢或者说会显得比较多余,但是今天一个朋友问我如何实现这个功...

      点击查看
    • WordPress自动截取文章首段限定字数做为摘要

      WordPress自动截取文章首段限定字数做为摘要

      今天一个朋友问我这个问题,说实话,我也不像百度了,所以直接把 DUX 的方法介绍给大家了,我个人还是比较看好这个方法的。 DUX 实现这个功...

      点击查看
    • WordPress文章内容底部添加相关文章

      WordPress文章内容底部添加相关文章

      这个功能貌似很多人都已经知道了,但是我相信还是有很多新接触 WordPress 的用户还是不了解的,这里我就直接简单的说明一下,不明白的地方...

      点击查看
    WordPress非插件给文章添加浏览次数
    0 + 8 =