MANAGE_USERS_CUSTOM_COLUMNS筛选器不触发回调函数

时间:2017-09-27 作者:ShahRukhMlk

我使用以下函数向users表中添加了一些自定义列

    public function modify_users_columns( $column_headers ) {
    //Remove email, role, and posts column
    unset( $column_headers[\'email\'], $column_headers[\'role\'], $column_headers[\'posts\'] );
    //Add sponsor id, level1 and level2 columns
    $column_headers[\'sponsor_id\'] = \'Sponsor ID\';
    $column_headers[\'level1\'] = \'Level 1\';
    $column_headers[\'level2\'] = \'Level 2\';
    return $column_headers;
}
add_filter( \'manage_users_columns\', $plugin_admin, \'modify_users_columns\' );
然后,我尝试使用以下函数使用自定义用户元填充这些列

    public function display_custom_users_columns_data( $output, $column_name, $user_id ) {
    switch ($column_name) {
        case \'sponsor_id\':
            return get_user_meta($user_id, \'sponsor_id\', true);
            break;
        case \'level1\':
            return get_user_meta($user_id, \'level1\', true);
            break;
        case \'level2\' :
            return get_user_meta($user_id, \'level2\', true);
        default:
    }
    return $output;
} 
add_filter( \'manage_users_custom_columns\', $plugin_admin, \'display_custom_users_columns_data\', 10, 3 );
第一个函数正常工作,并显示我的自定义列。但是,无论我如何返回$output变量,第二个函数都不起作用

有人报告了这个bug,但它已经关闭了,我不知道?manage_users_custom_column filter not working

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

我在manage\\u users\\u custom\\u列中添加了一个“s”,使用了错误的筛选器名称。正确的筛选器名称没有“s”:manage\\u users\\u custom\\u列。@mmm在评论中指出了这一点。

SO网友:Abson Reavs

Try this....

case \'level1\' :
  $level1 = get_user_meta( $user_id, \'level1\', true );
  echo $level1;
break;
结束

相关推荐

扩展WP_LIST_TABLE似乎在使用$This->Get_Columns()时出错--出什么问题了?

我正在尝试为view page of a plugin of mine 通过以下教程:Create Native Admin Tables In WordPress The Right Way  ;作者:Jeremy Desvaux de Marigny  ;粉碎杂志。下面是我如何扩展WP_List_Table 为我的插件初始化。(Code at Pastebin)问题是:它不显示任何列或行,只显示表的顶部和底部。是的var_dump() 步骤,并在中发现Line 149