在 Users.php 列中显示用户元数据

Posted

技术标签:

【中文标题】在 Users.php 列中显示用户元数据【英文标题】:Display User Meta in Users.php column 【发布时间】:2021-12-23 22:49:33 【问题描述】:

在 WordPress 用户的个人资料中,我有自定义用户元设置 _yith_wcact_user_ban

自定义字段是一个真/假复选框。

我已将必要的代码添加到 functions.php 以添加此自定义用户元以显示在 users.php 的列中。

但是,如何返回值以在列中显示VerfiedUnauthorised

_yith_wcact_user_ban = true = 未经授权

_yith_wcact_user_ban = false = 已验证

function add_custom_column_name($columns) 
    $columns['columns_array_name'] = 'Verification';
    return $columns;

function show_custom_column_values($value, $column_name, $user_id) 
    if ( 'columns_array_name' == $column_name )
        return get_user_meta( $user_id, '_yith_wcact_user_ban', true );
return('Unauthorised');


add_filter('manage_users_columns', 'add_custom_column_name');
add_action('manage_users_custom_column', 'show_custom_column_values', 10, 3);

任何帮助将不胜感激。

谢谢。

【问题讨论】:

【参考方案1】:

manage_users_custom_column 是一个过滤器钩子,而不是一个动作钩子。试试下面的代码。

function add_custom_column_name($columns) 
    $columns['verification'] = 'Verification';
    return $columns;

function show_custom_column_values($value, $column_name, $user_id) 
    if ( 'verification' == $column_name )
        if( get_user_meta( $user_id, '_yith_wcact_user_ban', true ) )
            return "Unauthorised";
        else
            return "Verfied";
        
    
    return $value;


add_filter('manage_users_columns', 'add_custom_column_name');
add_filter('manage_users_custom_column', 'show_custom_column_values', 10, 3);

经过测试并且有效。

【讨论】:

以上是关于在 Users.php 列中显示用户元数据的主要内容,如果未能解决你的问题,请参考以下文章

将元标记关键字显示为数据库中的 JSON 数据似乎不起作用

在pandas dataframe列中解压缩并打印元组

openstack-虚拟机元数据

直播音频获取元数据

csharp 顶级菜单导航剃须刀,允许用户使用元数据标签设置他们想要显示的页面。还显示下一级别。

Pandas 替换列中的值,但 to_replace 参数是包含元组的元组