如何在wp-admin users.php中显示多个定制列?

时间:2010-12-27 作者:John Chandler

我使用manage\\u users\\u列来显示我在usermeta数据库中创建的名为company的自定义字段。我的代码如下:

function mysite_column_company( $defaults ) {
 $defaults[\'mysite-usercolumn-company\'] = __(\'Company\', \'user-column\');
  return $defaults;
 }
 function mysite_custom_column_company($value, $column_name, $id) {
  if( $column_name == \'mysite-usercolumn-company\' ) {
        return get_usermeta($id, \'company\');
  }
 }

add_action(\'manage_users_custom_column\', \'mysite_custom_column_company\', 15, 3);
add_filter(\'manage_users_columns\', \'mysite_column_company\', 15, 1);
我想显示另外两个自定义字段,但无法确定正确的函数。复制这个函数是行不通的,而且我也没有在这个函数中为每个唯一的列添加新函数,主要是因为我似乎不知道如何正确定义$defaults变量。有什么建议吗?

1 个回复
最合适的回答,由SO网友:Sébastien Méric 整理而成

嗯。。。你的意思是这样的:

function mysite_column_company( $defaults ) {
    $defaults[\'mysite-usercolumn-company\'] = __(\'Company\', \'user-column\');
    $defaults[\'mysite-usercolumn-otherfield1\'] = __(\'Other field 1\', \'user-column\');
    $defaults[\'mysite-usercolumn-otherfield2\'] = __(\'Other field 2\', \'user-column\');
    return $defaults;
}
function mysite_custom_column_company($value, $column_name, $id) {
    if( $column_name == \'mysite-usercolumn-company\' ) {
        return get_the_author_meta( \'company\', $id );
    }
    elseif( $column_name == \'mysite-usercolumn-otherfield1\' ) {
        return get_the_author_meta( \'otherfield1\', $id );
    }
    elseif( $column_name == \'mysite-usercolumn-otherfield2\' ) {
        return get_the_author_meta( \'otherfield2\', $id );
    }
}
顺便说一下,您应该使用get\\u the\\u author\\u meta()而不是get\\u usermeta(),因为它已被弃用。

结束

相关推荐

如何消除wp-admin中奇怪的404错误?

我运行一个WordPress站点,有大约70个活动插件。每隔一段时间,我会在/wp-admin/ 不知从哪里冒出来的页面。只需再次尝试即可解决错误,但如果错误发生在插件升级过程中(因为自动重新激活失败),则会非常不方便。我认为,同样的问题导致我的仪表板上的某些模块有时无法加载。考虑到list of plugins I have installed, 是否有人知道他们之间的问题可能导致此问题?编辑:主机信息:DreamHost;我认为服务器正在使用Apache httpd运行自定义的Debian构建