关于在 WordPress 后台文章列表中增加“最后修改时间”(last modified date)的自定义字段的代码,我看了一下,很多网友分享的都是类似于露兜博客中所描述的样式:
- function ludou_set_post_order_in_admin( $wp_query ) {
- if ( is_admin() ) {
- $wp_query->set( 'orderby', 'modified' );
- // 此处是将最新修改的文章排在前面
- // 如果要将最新修改的文章排在后面,可将DESC改成ASC
- $wp_query->set( 'order', 'DESC' );
- }
- }
- add_filter('pre_get_posts', 'ludou_set_post_order_in_admin' );
上述代码只能每次通过修改“DESC”或 “ASC”来实现降序和升序,不能在后台中像原始的发布“日期”那样,鼠标悬停此处会出现黑三角,点击后可以自动升序或降序排列。
其实上述代码中少了一些内容,例如再继续添加 “manage_edit-post_sortable_columns”或 “manage_edit-page_sortable_columns”过滤器(filter),就可实现像原生的一样将文章最后修改时间自由升序、降序排列。
- /*
- ** Name: 在后台显示日志修改时间
- ** Description: 如何在后台显示可排序的日志修改时间
- ** https://www.timezls.com/2021/10/post-sortable-modified-date-in-admin-lists.html
- **/
- // 1。为post和page文章列表页面注册“修改时间”列
- function modified_column_register( $columns ) {
- $columns['Modified'] = __( '修改时间', 'show-modified-date-in-admin-lists' );
- return $columns;
- }
- add_filter( 'manage_posts_columns', 'modified_column_register' );
- add_filter( 'manage_pages_columns', 'modified_column_register' );
- // 2。“修改时间”列 的样式:可通过get_the_modified_date() 函数自行修改成自己喜欢的
- function modified_column_display( $column_name, $post_id ) {
- switch ( $column_name ) {
- case 'Modified':
- global $post;
- echo get_the_modified_date('Y/m/d'). '<br />' .get_the_modified_time('(H:i)');
- break; // end all case breaks
- }
- }
- add_action( 'manage_posts_custom_column', 'modified_column_display', 10, 2 );
- add_action( 'manage_pages_custom_column', 'modified_column_display', 10, 2 );
- // 3。为post和page文章列表页面中 “修改时间”列 增加“可自由排序”的属性
- function modified_column_register_sortable( $columns ) {
- $columns['Modified'] = 'modified';
- return $columns;
- }
- add_filter( 'manage_edit-post_sortable_columns', 'modified_column_register_sortable' );
- 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