我想添加一个在页面/帖子中显示用户角色的列
这是我的代码:
$this->My_displays= array(x=> 'text','y'=> 'text2');
add_filter('manage_users_columns', array(&$this,'myusers'));
add_action('manage_users_custom_column', array(&$this,'function_column'), 10, 3);
add_filter( 'group_user_sortable_columns', array(&$this,'column_sortable' ));
add_filter( 'request', array(&$this,'column_orderby' ));
//Posts
add_filter('manage_posts_columns', array(&$this,'myusers'));
add_action('manage_posts_column_column', 'function_column', 10, 3);
//Pages
add_filter('manage_pages_columns', array(&$this,'myusers'));
add_action('manage_pages_custom_column', array(&$this,'function_column'), 10, 3);
//Media
add_filter( 'manage_media_columns', array(&$this,'myusers'));
add_action( 'manage_media_custom_column', array(&$this,'function_column'), 10, 3);
function myusers($columns) {
$columns['myusers'] = __('Views', 'myusers');
return $columns;
}
function function_column( $value, $columnz, $ids ) {
if ( 'myusers' != $columnze )
return $value;
$vars = get_user_meta($ids, 'myusers', TRUE);
return $this->My_displays[$vars];
}
在用户中,它可以正常工作,但不适用于页面和媒体。
答案 0 :(得分:0)
它不起作用,因为manage_users_columns
采用的参数与其他manage_*
的参数不同。
对于用户:
function user_column_callback( $return_value, $column_name, $user_id )
对于其他人:
function posts_types_callback( $column_name, $post_id )
您必须创建两个回调。并使用$post_id
来抓取帖子/页面/媒体作者。
答案 1 :(得分:0)
@brasofilo谢谢你的回复,我做了这个
function posts_types_callback( $column_name, $post_id )
{
if ($column_name == 'myusers') {
$Var = get_post_meta($post_id, ' myusers ', TRUE);
return $this-> My_displays [$Var];
}
$this->My_displays= array(x=> 'text','y'=> 'text2');
在用户中它可以正常工作,如果选中了文本,则显示文本,否则为text2!