wordpress中非插件统计文章浏览次数

简介:

非插件统计文章浏览次数

1.在主题的 functions.php文件的最后一个 ?> 前面添加下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* 访问计数 */ 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 ;}

2.在需要显示该统计次数的地方使用下面的代码调用:

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

获取浏览次数最多的文章

如果要获取上面的函数统计出来的浏览次数最多的文章,可以在 functions.php文件的最后一个 ?> 前面添加下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/// 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 ;}

然后使用下面的函数调用:

1
<?php get_most_viewed_format(); ?>



本文转自 IT阿飞 51CTO博客,原文链接:http://blog.51cto.com/itafei/1886331

相关文章
|
2月前
|
PHP UED 异构计算
【开源】WordPress一键崩溃宕机插件(整活娱乐)
可一键实现Wordpress崩溃宕机的整活向插件(请勿用于非法途径,仅供整活娱乐)。鼓励关注网站性能的提升,以提供更好的用户体验,提倡为用户提供良好体验和高效速度的原则。
34 4
【开源】WordPress一键崩溃宕机插件(整活娱乐)
|
4月前
|
PHP SEO
WordPress 主题和插件
WordPress 主题和插件
82 0
|
7月前
|
Web App开发 移动开发 安全
WordPress插件wp-file-manager任意文件上传漏洞(CVE-2020-25213)
WordPress插件WPFileManager中存在一个严重的安全漏洞,攻击者可以在安装了此插件的任何WordPress网站上任意上传文件并远程代码执行。
258 1
|
4月前
|
PHP
教你制作一个 WordPress 插件
教你制作一个 WordPress 插件
34 0
|
5月前
|
前端开发 JavaScript API
wordpress插件开发踩坑记
想要使用 REST API 需要自己额外安装插件:WordPress REST API,现在 WordPress 5.0以上的版本已经默认支持 REST API了,不需要额外去安装插件
42 0
|
5月前
|
JavaScript 前端开发 程序员
从零开发和发布自己的wordpress插件到官方插件库完全指南
wordpress是一款很流行的开源博客程序,全世界有很多网站都在使用wordpress,程序员们也喜欢拿来做自己的技术博客,对于自己不满意的地方,那肯定也需要自己动手来修改了,下面就介绍从开发到发布一个wordpress插件的完整流程
54 0
|
10月前
|
缓存 数据库 云计算
为什么WordPress有时用缓存加速插件反而变得慢了?
为什么WordPress有时用缓存加速插件反而变得慢了? 使用缓存插件可以大大提高 WordPress 网站的性能和响应速度,因为它可以缓存页面和资源,减少服务器请求和数据传输。但是,如果插件配置不当,或者您的网站具有特定的配置或功能,可能会导致缓存插件反而使网站变慢。
为什么WordPress有时用缓存加速插件反而变得慢了?
|
10月前
|
安全
Wordpress定制开发如何添加插件?
Wordpress定制开发如何添加插件? 要在 WordPress 中添加插件,请按照以下步骤操作: 登录 WordPress 后台,进入“插件”菜单。 点击“添加新插件”按钮,您将看到一个搜索框和一些推荐插件。
|
11月前
|
SQL 安全 数据库
WordPress插件中的流行的严重错误发布的PoC漏洞
WordPress插件中的流行的严重错误发布的PoC漏洞
|
12月前
|
存储 安全 开发者
企业用WordPress开发插件需要定期更新吗?
企业使用WordPress开发插件时,需要定期更新插件以确保插件的安全性和兼容性。 插件开发者会定期发布更新来修复漏洞、改进功能和确保兼容性。如果插件没有及时更新,那么它可能会存在漏洞或与最新版本的WordPress或其他插件不兼容,从而导致安全和性能问题。除了定期更新插件以确保安全性和兼容性,企业在使用WordPress插件时还有以下一些最佳实践: