WordPress 技巧:在后台显示文章浏览数「可排序」

除了使用 Google Analytics 统计整个博客流量之外,我们还可以对每篇文章的点击数进行统计,通过每篇文章统计,就可以知道哪些文章更受读者欢迎……比如 WP-PostViews 插件,不过这个插件不能在后台文章列表页面显示点击数,可以使用 WordPress 的 Hook 实现。

WordPress 技巧:在后台显示文章浏览数「不可排序」

水煮鱼原版代码:

add_filter('manage_posts_columns', function($columns){
$columns['views'] = __('Views');
return $columns;
});

add_action('manage_posts_custom_column',function($column_name,$id){
if ($column_name != 'views'){
return;
}
echo get_post_meta($id, "views",true);
},10,2);

将上面代码复制到 WP-PostViews 插件原文件或者主题 functions.php 中即可在 WordPress 后台文章列表页面查看每篇文章点击数。

不过这个不能根据点击数「Views」排序显示文章。

WordPress 技巧:在后台显示文章浏览数「可排序」

上面水煮鱼代码,结合这个「给wordpress后台文章列表增加自定义排序栏」(文章备份)即可实现在后台显示文章浏览数,并可根据浏览数排序。

参考代码如下(有更新,注意红色字体部分代码):

add_filter('manage_posts_columns', function($columns){
$columns['views'] = __('Views');
return $columns;
});

add_action('manage_posts_custom_column',function($column_name,$id){
if ($column_name != 'views'){
return;
}
if ( get_post_meta($id, "views",true) == '' ){ //增加没有 views 字段处理,否则 PHP 8 环境会报错
echo '0';
} else {
echo get_post_meta($id, "views",true);
}
},10,2);

add_filter( 'manage_edit-post_sortable_columns', function ( $columns ) {
$columns['views'] = 'views';
return $columns;
});
add_action( 'load-edit.php', function() {
add_filter( 'request', 'theme_admin_sort_views' );
});
function theme_admin_sort_views( $vars ) {
if ( isset( $vars['orderby'] ) && 'views' == $vars['orderby'] ) {
$vars = array_merge(
$vars,
array(
'meta_key' => 'views',
'orderby' => 'meta_value_num'
)
);
}
return $vars;
}

将上面代码复制到主题 functions.php 中即可在 WordPress 后台文章列表页面查看每篇文章点击数,并可点击进行升序/降序排序。(可能需要根据实际环境修改)

参考资料

WordPress 技巧:在后台显示文章浏览数

给wordpress后台文章列表增加自定义排序栏

除非注明,沙唐桔文章均为原创,本文地址 https://cyhour.com/1554/,转载时必须以链接形式注明原始出处。
声明:我们不销售主机,选主机需合法使用。任何主机需定期备份,防止数据丢失。信息以实际为准,评测仅供参考不代表权威!

Sublime Text 批量删除文件空白行

不知道为啥,新版本的 WordPress 安装完成后生成的 wp-config.php 文件会被隔行插入一行空行,另外,发现从后台上传本地主题 zip 压缩包进行安装,这个主题的所有文件都会被隔行插入一行空行,这是 bug?我现在用 Sublime Text 3 (和谐版)编辑主题文件,于是找了一下 Sublime Text 删除空行的方法,…
浏览: 95 标签: 

Sublime Text 3 热键失效

今天折腾博客,发现 Sublime Text 3 快速选中多个地方热键(Ctrl+Alt+UP/DOWN)失效,原本以为是老问题:英特尔图形属性占用快捷键,看了一下,并没有。 找了一圈,试了几个工具,没找到是哪个程序快捷键冲突。然后尝试使用 Windows Hotkey Explorer 找找。MD,这货安装完,打开,屏幕噼里啪啦…
浏览: 27 标签:  ,  ,  , 
浏览: 72 标签:  ,  ,  , 

Comments:19

  1. 好东西。。。。。。。。。不过有小错误,get_post_meta($id, “views”,true); 前多了个echo。

    2020.12.08 21:52 # 回复
    1楼
    • @Yan 多了吗?亲测在用代码就有 echo 啊~

      2020.12.08 22:19 # 回复
      • @老杨 多了。亲测echo重复输出了。我是wordpress 5.5.3。

        2020.12.08 22:27 # 回复
        • @Yan 同样 5.5.3 啊,get_post_meta 并不会打印出来啊,奇怪~
          https://developer.wordpress.org/reference/functions/get_post_meta/

          2020.12.08 22:51 # 回复
  2. 不知道,哈哈哈。先这样吧。

    2020.12.08 22:54 # 回复
    2楼
  3. 看淡了 懒得弄了😂

    2020.12.09 07:20 # 回复
    3楼
  4. 有了这个,就知道以后写什么方向的东西了。

    2020.12.09 10:35 # 回复
    4楼
  5. 你隐藏前台之后,确实有这个需求。囧 。。

    2020.12.20 20:11 # 回复
    5楼
    • @郑永 前台没有隐藏啊,不过是加了点处理,加上后台也更方便。

      2020.12.20 21:36 # 回复
  6. 我是用了 WP-PostViews 插件,后台可以按浏览次数排序的。

    2021.01.06 16:16 # 回复
    6楼
  7. 我发现这样一个问题,在没有这功能的主题上用着特别好,能够排序,后台出现views,但我有一个站点的主题,自带阅读数量的,只是不能排序,放上这代码后,数量统计不准确,排序也很混乱。

    2021.01.20 14:59 # 回复
    7楼

发表留言

Vultr 送$100,搬瓦工年付最低$49,优惠码 BWH3HYATVBJW,更多推荐VPS信息