向users.php添加多个定制列

时间:2013-11-07 作者:graphical_force

我正在尝试向用户添加两列。php文件。我不知道如何同时添加$total\\u time\\u display和$logged\\u in\\u amount\\u display。如何返回这两个值?

这是我的代码:

add_filter(\'manage_users_columns\', \'freeman_add_user_minutes_column\');
function freeman_add_user_minutes_column($columns) {
    $columns[\'total_time\'] = \'Total Minutes\';
    $columns[\'logged_in_amount\'] = \'Number of Logins\';
    return $columns;
}

add_action(\'manage_users_custom_column\',  \'freeman_show_user_minutes_column_content\', 10, 3);
function freeman_show_user_minutes_column_content($value, $column_name, $user_id) {
    $user = get_userdata( $user_id );
    if ( \'total_time\' == $column_name )
        $total_time_display = ($user->total_time);
        return $total_time_display;
    if ( \'logged_in_amount\' == $column_name )
        $logged_in_amount_display = ($user->logged_in_amount);
        return $logged_in_amount_display;
    return $value;
}

3 个回复
最合适的回答,由SO网友:graphical_force 整理而成

谢谢你的帮助,但我最终还是弄明白了。只是重复代码并没有给我想要的结果,但返回了它。

代码如下:

add_filter(\'manage_users_columns\', \'freeman_add_user_minutes_column\');
function freeman_add_user_minutes_column($columns) {
    $columns[\'total_time\'] = \'Total Minutes\';
    $columns[\'logged_in_amount\'] = \'Number of Logins\';
    return $columns;
}

add_action(\'manage_users_custom_column\',  \'freeman_show_user_minutes_column_content\', 10, 3);
function freeman_show_user_minutes_column_content($value, $column_name, $user_id) {
    $user = get_userdata( $user_id );
    if ( \'total_time\' == $column_name )
        $output .= ($user->total_time);
    if ( \'logged_in_amount\' == $column_name )
        $output .= ($user->logged_in_amount);
    return $output;
}

SO网友:Oleg Butuzov

正确使用echoreturn. 这是行动,而不是过滤器。您可以删除return $value; 从您的回拨中。

SO网友:helgatheviking

猜测你的元字段在调用什么,实现Oleg的建议意味着更新你的freeman_show_user_minutes_column_content() 功能如下:

add_action(\'manage_users_custom_column\',  \'freeman_show_user_minutes_column_content\', 10, 3);
function freeman_show_user_minutes_column_content($value, $column_name, $user_id) {
    $user = get_userdata( $user_id );
    if ( \'total_time\' == $column_name )
        echo get_user_meta( $user_id, \'total_time\', true );
    if ( \'logged_in_amount\' == $column_name )
        echo get_user_meta( $user_id, \'logged_in_amount\' );
}
您的自定义元不是$user 对象,因此您必须使用get_user_meta().

结束

相关推荐

Custom Post Row Actions

我偶然发现this question 在写这个问题的时候。我有一个问题是关于这个问题的。我发现你用的是get_delete_post_link 筛选为我的操作创建一个新的url(或一个类似的函数——在任何情况下,我都会将该函数与布尔值一起使用)。唯一的问题是,I don\'t know how to capture the event now. 考虑到我在谷歌上找不到很多关于行后操作的例子,我将不胜感激-/public function _wp_filter_get_delete_post_link( $