在用户配置文件表中的用户名之前添加一列

时间:2013-09-30 作者:Ahmad Ajmi

我想将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);
谢谢

2 个回复
最合适的回答,由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.

结束

相关推荐

Extend the wp_users table

我想延长wp_users 我的WordPress数据库中的表为什么?我希望人们在我的网站上唱歌时能增加更多关于自己的信息。我知道如何扩展它,但我担心当WordPress需要更新时wp_users 表,即我添加的列,将被删除。我这里有任何人在扩展wp_users 桌子更新WordPress版本时,是否会更新此表?