»

在WordPress后台文章列表页显示“可自由排序”的日志修改时间

    WordPress  
网络安全腾讯云加速建站伪静态wordpressWP Rocket插件web.config身份认证重定向windows主机前端cookies防盗链CLB工作访客SEOhtaccessWordPress插件Wp Super Cache浏览器爬虫百度云加速查询

关于在 WordPress 后台文章列表中增加“最后修改时间”(last modified date)的自定义字段的代码,我看了一下,很多网友分享的都是类似于露兜博客中所描述的样式:

  1. function ludou_set_post_order_in_admin( $wp_query ) {  
  2.   if ( is_admin() ) {  
  3.     $wp_query->set( 'orderby', 'modified' );  
  4.     // 此处是将最新修改的文章排在前面  
  5.     // 如果要将最新修改的文章排在后面,可将DESC改成ASC  
  6.     $wp_query->set( 'order', 'DESC' );  
  7.   }  
  8. }  
  9. add_filter('pre_get_posts', 'ludou_set_post_order_in_admin' );  

 

上述代码只能每次通过修改“DESC”或 “ASC”来实现降序和升序,不能在后台中像原始的发布“日期”那样,鼠标悬停此处会出现黑三角,点击后可以自动升序或降序排列。

其实上述代码中少了一些内容,例如再继续添加 “manage_edit-post_sortable_columns”或 “manage_edit-page_sortable_columns”过滤器(filter),就可实现像原生的一样将文章最后修改时间自由升序、降序排列。

 

  1. /* 
  2. ** Name: 在后台显示日志修改时间 
  3. ** Description: 如何在后台显示可排序的日志修改时间 
  4. ** https://www.timezls.com/2021/10/post-sortable-modified-date-in-admin-lists.html 
  5. **/  
  6.   
  7. // 1。为post和page文章列表页面注册“修改时间”列  
  8. function modified_column_register( $columns ) {  
  9.     $columns['Modified'] = __( '修改时间', 'show-modified-date-in-admin-lists' );  
  10.     return $columns;  
  11. }  
  12. add_filter( 'manage_posts_columns', 'modified_column_register' );  
  13. add_filter( 'manage_pages_columns', 'modified_column_register' );  
  14.   
  15. // 2。“修改时间”列 的样式:可通过get_the_modified_date() 函数自行修改成自己喜欢的   
  16. function modified_column_display( $column_name$post_id ) {  
  17.     switch ( $column_name ) {  
  18.     case 'Modified':  
  19.         global $post;   
  20.             echo get_the_modified_date('Y/m/d'). '<br />' .get_the_modified_time('(H:i)');        
  21.         break// end all case breaks  
  22.     }  
  23. }  
  24. add_action( 'manage_posts_custom_column', 'modified_column_display', 10, 2 );  
  25. add_action( 'manage_pages_custom_column', 'modified_column_display', 10, 2 );  
  26.   
  27. // 3。为post和page文章列表页面中 “修改时间”列 增加“可自由排序”的属性  
  28. function modified_column_register_sortable( $columns ) {  
  29.     $columns['Modified'] = 'modified';  
  30.     return $columns;  
  31. }  
  32. add_filter( 'manage_edit-post_sortable_columns', 'modified_column_register_sortable' );  
  33. add_filter( 'manage_edit-page_sortable_columns', 'modified_column_register_sortable' );  

 

将代码加入自己的主题文件 functions.php 之中即可大功告成。样式如下图所示:

 

本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利

最后修改时间列

 

以上代码已上传到百度网盘,可自行下载:pan.baidu.com/s/1M1iL-MriVl2tpQtha8QUwQ

本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利

提取码: 8yxs 

时光在路上扫码阅读、分享
  • 版权声明:该文章由 时光在路上 发表,共 2030字。除非特别标注来源,否则为原创。详见《版权声明》部分。
  • 转载请注明:文章标题和文章链接 - 时光在路上 - 也可直接“复制本文链接” 或 使用右边二维码分享本文 →