如何自定义WordPress后台文章列表内容

WordPress后台文章列表可以通过钩子自定义列表显示的内容,如果是修改默认文章列表可以使用下列代码。

文章列表修改方式

  1.     /**********文章***********/  
  2.         add_filter('manage_posts_columns', 'add_new_posts_columns');   
  3.         function add_new_posts_columns($book_columns) {   
  4.             $new_columns['cb'] = '<input type="checkbox" />';   
  5.             $new_columns['id'] = __('文章ID');   
  6.             $new_columns['title'] = _x( '文章标题', 'column name' );   
  7.             $new_columns['author'] = __('文章作者');   
  8.             $new_columns['categories'] = __('分类');   
  9.             $new_columns['tags'] = __('Tags');   
  10.             $new_columns['date'] = _x('Date', 'column name');   
  11.             return $new_columns;   
  12.         }   
  13.         add_action('manage_posts_custom_column', 'manage_posts_columns', 10, 2);   
  14.         function manage_posts_columns($column_name, $id) {   
  15.             global $wpdb;   
  16.             switch ($column_name) {   
  17.             case 'id':   
  18.                 echo $id;   
  19.                 break;   
  20.             default:   
  21.                 break;   
  22.             }   
  23.         }

页面列表修改方式

  1.         /**************页面************/  
  2.         add_filter('manage_pages_columns', 'add_new_pages_columns');   
  3.         function add_new_pages_columns($book_columns) {   
  4.             $new_columns['cb'] = '<input type="checkbox" />';   
  5.             $new_columns['id'] = __('ID');   
  6.             $new_columns['title'] = _x( 'Title', 'column name' );   
  7.             $new_columns['author'] = __('Author');   
  8.             $new_columns['date'] = _x('Date', 'column name');   
  9.             return $new_columns;   
  10.         }   
  11.         add_action('manage_pages_custom_column', 'manage_pages_columns', 10, 2);   
  12.         function manage_pages_columns($column_name, $id) {   
  13.             global $wpdb;   
  14.             switch ($column_name) {   
  15.             case 'id':   
  16.                 echo $id;   
  17.                 break;   
  18.             default:   
  19.                 break;   
  20.             }   
  21.         }

以上方法只用于普通文章和页面,如果是自定义文章类型需要跳转请看下面。

自定义文章类型列表自定义

特别是要注意一个问题,自定义文章使用的是:manage_edit-这里换成你的自定义文章类型_columns,例如

  1. function add_views_column_bgdiy($bgdiy_columns)
  2. {
  3.   $columns['title'] = __('编号');
  4.   $columns['author'] = __('所属会员');
  5.   $columns['zhuangtai'] = __('状态');
  6.   $columns['taxonomy-diy_category'] = __('Categories');   //这里一定要替换为你的自定义文章类型,自定义分类的注册类型
  7.   return $columns;
  8. }
  9. function views_column_bgdiy($column_name, $post_id){
  10.   if ($column_name == 'author') {
  11.     echo '<strong>';
  12.     echo get_the_title();
  13.     echo '</strong>';
  14.   }
  15. }
  16. add_filter('manage_edit-bgdiy_columns', 'add_views_column_bgdiy');
  17. add_action('manage_posts_custom_column', 'views_column_bgdiy', 10, 2);

自定义文章类型为什么需要自定义后台文章列表呢?其实很多时候这个功能主要是用于定制功能的使用,例如制作一个存放提交记录或者订单等

话题:

相关推荐