在WP用户中添加列,但出现错误

时间:2013-12-02 作者:T Kien

我在用户页面中添加了一列,当复选框不在正确的位置时就会出错。这是我的代码,你能帮我把复选框移到正确的位置吗?

public static function user_register_columns( $columns ) {
    // create a new array with account just after username, then everything else
    $new_columns = array();
    if ( isset($columns[\'username\']) ) {
        $new_columns[\'username\'] = $columns[\'username\'];
        unset($columns[\'username\']);
    }
    $new_columns[\'account\'] = self::__( \'Account\' );
    $new_columns = array_merge($new_columns, $columns);
    return $new_columns;
}
public static function user_column_display( $empty=\'\', $column_name, $id ) {
    $account = WP_ABC_Account::get_instance( $id );

    if ( !$account )
        return; // return for that temp post

    switch ( $column_name ) {
    case \'account\':
        $account_id = $account->get_ID();
        $user_id = $account->get_user_id_for_account( $account_id );
        $user = get_userdata( $user_id );
        $get_name = $account->get_name();
        $name = ( strlen( $get_name ) <= 1  ) ? \'\' : $get_name;

        //Build row actions
        $actions = array(
            \'edit\'    => sprintf( \'<a href="#">\'.self::__( \'Manage\' ).\'</a>\', $account_id ),
            \'payments\'    => sprintf( \'<a href="#">\'.self::__( \'Payments\' ).\'</a>\', $account_id ),
            \'gifts\'    => sprintf( \'<a href="#">\'.self::__( \'Gifts\').\'</a>\', $account_id )
        );

        //Return the title contents
        return sprintf( self::__( \'%1$s <span style="color:silver">(account&nbsp;id:%2$s)</span> <span style="color:silver">(user&nbsp;id:%3$s)</span>%4$s\' ),
            $name,
            $account_id,
            $user_id,
            WP_List_Table::row_actions( $actions )
        );
        break;

    default:
        // code...
        break;
    }
}
结果如下所示,复选框的位置不正确。它必须始终位于左侧。

enter image description here

非常感谢。

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

我想你已经迷上了manage_users_columns. 可能是您的array\\u merge导致了此问题。而不是使用$new_columns 作为第一个参数,使用它作为第二个参数,如下所示。

$new_columns = array_merge ( $columns, $new_columns );

结束

相关推荐

在users.php中使用Manage_User_Columns显示cimy用户字段

我正在尝试向我的主题函数添加代码。php在仪表板用户中显示使用Cimy用户额外字段插件创建的字段。php。我知道我需要使用manage\\u users\\u列,但除此之外,我陷入了困境。有谁对这个插件足够熟悉,可以帮助我获得要显示的正确字段?