付费节点推荐
免费节点
节点使用教程
今天写这篇文章总结一下修改列表页面用到的hooks及修改page、custom post type、comments、media和user列表页的方法。
如何添加/删除/修改列表中的字段——基本原理陈述
简单的说:用filter添加/删除/修改字段标题(column headers),用action打印出每一列表格单元应该显示的结果。所需的filter和action如下
Filters:
manage_posts_columns
过滤文章列表页的字段
manage_${post_type}_posts_columns
过滤自定义文章类型(custom post type)列表页的字段,${post_type}是custom post type的名称.
manage_pages_columns
过滤页面(page)列表页字段
manage_edit-comments_columns
过滤评论列表页字段
manage_upload_columns
过滤媒体列表页字段
manage_users_columns
过滤用户列表页字段
Actions:
manage_posts_custom_column
输出文章列表页面字段的内容
manage_${post_type}_posts_custom_column
输出自定义文章类型列表页面字段内容
manage_pages_custom_column
输出页面列表页字段内容
manage_comments_custom_column
输出评论列表页字段内容
manage_media_custom_column
输出媒体列表页字段内容
manage_users_custom_column
输出用户列表页字段内容
显然上述的filters和actions具有一一对应的关系,应该成对使用。通过观察其构成,可以简化为下面的形式方便记忆,${screen_id}的解释见下文。
Filter: manage_${screen_id}_columns
Action: manage_${type}_custom_column
让字段可排序
manage_${screen_id}_sortable_columns
是一个filter,定义哪些字段是可排序的,因为是filter,只负责定义,不具备处理功能,处理代码需要另外写。
${screen_id}是每个页面独有的ID,例如:
- 文章列表页 – edit-post
- custom post type列表页 – edit-{custom post type name}
- page列表页 – edit-page
- 媒体列表页 – upload
- 评论列表页 – edit-comments
- 用户列表页 – users
下面就用定制文章列表页面为例说明。
定制文章(post)列表
/**********文章***********/
function add_new_posts_columns($book_columns) {
$new_columns['cb'] = '<input type="checkbox" />';
$new_columns['short_description'] = _x( '题目', 'column name' );
$new_columns['author'] = __('出题人');
$new_columns['categories'] = __('试题类型');
$new_columns['date'] = _x('Date', 'column name');
$new_columns['id'] = __('试题编号');
return $new_columns;
}function manage_posts_columns($column_name, $id) {
global $wpdb;
switch ($column_name) {
case 'id':
echo $id;
break;
case 'short_description':
echo the_excerpt();
default:
break;
}
}add_filter('manage_posts_columns', 'add_new_posts_columns');
add_action('manage_posts_custom_column', 'manage_posts_columns', 10, 2);
未经允许不得转载:Bcoder资源网 » wordpress后台post_column定制,加入列表摘要功能
评论前必须登录!
登陆 注册