我使用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变量。有什么建议吗?
最合适的回答,由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(),因为它已被弃用。