将自定义列添加到“用户”管理面板


28

默认情况下,USERS中有5列名为“用户名名称电子邮件角色帖子”。现在,我想再加上一列他的联系电话。

我该如何实现?

这里显示黑匣子


你有电话号码设置吗?我的意思是您的用户可以在个人资料中添加电话号码吗?
罗伯特·

不..我只想知道如何添加..它不仅解决该联系电话..它也只能是一个空白列
Rohil_PHPBeginner 2014年

1
如果您的站点有很多自定义列,那么您可能会对名为Admin Columns的插件感兴趣。
布赖恩

你可以看到这个博客有详细的解释tekina.info/...
Aniket辛格

Answers:


43

好的,这是允许您的用户添加电话号码的代码。将此完整代码粘贴到functions.php文件中。这将在用户配置文件中为“电话号码”添加新字段,并在WordPress admin上为电话添加一列用户表。

function new_contact_methods( $contactmethods ) {
    $contactmethods['phone'] = 'Phone Number';
    return $contactmethods;
}
add_filter( 'user_contactmethods', 'new_contact_methods', 10, 1 );


function new_modify_user_table( $column ) {
    $column['phone'] = 'Phone';
    return $column;
}
add_filter( 'manage_users_columns', 'new_modify_user_table' );

function new_modify_user_table_row( $val, $column_name, $user_id ) {
    switch ($column_name) {
        case 'phone' :
            return get_the_author_meta( 'phone', $user_id );
        default:
    }
    return $val;
}
add_filter( 'manage_users_custom_column', 'new_modify_user_table_row', 10, 3 );

编辑

要添加两列,您需要进行一些更改。比较两个代码以了解。

function new_modify_user_table( $column ) {
    $column['phone'] = 'Phone';
    $column['xyz'] = 'XYZ';
    return $column;
}
add_filter( 'manage_users_columns', 'new_modify_user_table' );

function new_modify_user_table_row( $val, $column_name, $user_id ) {
    switch ($column_name) {
        case 'phone' :
            return get_the_author_meta( 'phone', $user_id );
        case 'xyz' :
            return '';
        default:
    }
    return $val;
}
add_filter( 'manage_users_custom_column', 'new_modify_user_table_row', 10, 3 );

再次使用代码。我更改了它,因此您也可以在用户列表上看到电话字段。
罗伯特·休

大!工作..但是在添加用户时他们为什么不要求电话号码?
Rohil_PHPBeginner 2014年

你能解释一下这个代码吗?我想再添加一个字段,但它显示了一个错误。
Rohil_PHPBeginner 2014年

2
我建议将此添加到特定站点的插件中,因为它与主题的外观无关。
helgatheviking 2014年

1
最后$user = get_userdata( $user_id );return $return绝对没有必要。$user该函数未使用变量$return且未定义变量,因此它什么也不返回。
LoicTheAztec
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.