0

我想添加一列显示页面/帖子中的用户角色

这是我的代码:

$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];
}

在用户中它可以正常工作,但在页面和媒体中却不行。

4

2 回答 2

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!

于 2013-07-11T07:36:56.683 回答
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抓取帖子/页面/媒体作者。

于 2013-07-10T17:29:03.057 回答