我想将Company列重新排序为表中的第一列,代码运行良好,但它的位置是最后一列。我怎样才能让它在用户名之前出现在第一位?
function add_company_column($defaults) {
$defaults[\'company\'] = __(\'Company\');
return $defaults;
}
function view_company_column($value, $column_name, $id) {
if ($column_name == \'company\') {
global $wpdb;
$companyID = get_usermeta($id, \'company\');
$company = $wpdb->get_row("SELECT com_name FROM " . $wpdb->prefix . "companies WHERE com_id = " . $companyID);
return $company->com_name;
}
}
add_filter(\'manage_users_columns\', \'add_company_column\', 15, 1);
add_action(\'manage_users_custom_column\', \'view_company_column\', 15, 3);
谢谢
最合适的回答,由SO网友:Ahmad Ajmi 整理而成
好吧,我解决了这个问题$defaults
并在加入公司后进行重建
function add_company_column($defaults) {
unset($defaults);
$defaults[\'company\'] = __(\'Company\');
$defaults[\'username\'] = __(\'username\');
$defaults[\'name\'] = __(\'Name\');
$defaults[\'email\'] = __(\'Email\');
return $defaults;
}
SO网友:Chittaranjan
无需取消设置所有列并一起构建这些列。您可以做的是在第一列之后拆分默认列数组,然后将新的自定义列数组与其他2个数组合并。请查看以下代码。
function add_company_column( $defaults ) {
$new_columns = array();
$columns_1 = array_slice( $defaults, 0, 1 );
$columns_2 = array_slice( $defaults, 1 );
$new_columns = $columns_1 + array( \'company\' => __(\'Company\') ) + $columns_2;
return $new_columns;
}
使用上述代码
company
列将显示在
username
柱
您可以查看有关此的完整文章,包括上的可排序自定义列Webtechideas.