在用户列表页面中添加自定义列

时间:2017-06-01 作者:jhoanna

我需要连接到用户列表页面。

我需要为每个用户添加一个复选框列,以记住他们是否已付款。

感谢您的帮助,因为找不到此管理页挂钩的代码段。

3 个回复
SO网友:budiony

您应该记住的一件事是该函数,它将连接到manage_users_custom_column 行动must have 3 parameters, 第一个(即。$val) 应为返回值:

// Add custom column using \'manage_users_columns\' filter
if(!function_exists(\'bm_utm_column\')){
function bm_utm_column($columns) {
    return array_merge( $columns, 
        array(\'utm_source\' => __(\'UTM source\'),
            \'utm_medium\' => __(\'UTM medium\')
            ) 
        );
    }
}

// Add the content from usermeta\'s table by using \'manage_users_custom_column\' hook
if(!function_exists(\'bm_utm_column_value\')){
   function bm_utm_column_value($val, $column_name, $user_id) {
    if ( \'utm_source\' == $column_name ) {
        //Custom value
        $val = get_user_meta($user_id, \'utm_source\', true);
    }
    if ( \'utm_medium\' == $column_name ) {
        //Custom value
        $val = get_user_meta($user_id, \'utm_medium\', true);
    }
    return $val;
   }
}
// Hook into filter
add_filter( \'manage_users_columns\', \'bm_utm_column\' );
add_action( \'manage_users_custom_column\', \'bm_utm_column_value\', 10, 3 );

SO网友:Johansson

用户列表列按筛选manage_users_columns. 看看这个简单的示例,了解如何连接到此过滤器:

// We add another column using \'manage_users_columns\' filter
function my_payment_column($columns) {
    return array_merge( $columns, 
              array(\'payment\' => __(\'Payment\')) 
            );
}
// Now we add some content to each row by using \'manage_users_custom_column\' hook
function my_payment_column_value($column_name, $user_id) {
        if ( \'payment\' == $column_name ) {
            // Place to add checkbox, text field, etc.

            // If the user has paid, show it. Else, show N/A.
            if ( isset($paid) && $paid ) {
                echo __(\'Paid\',\'text-domain\');
            } else {
                echo __(\'N/A\',\'text-domain\');
            }
        }
}
// Hook into filter
add_filter( \'manage_users_columns\', \'my_payment_column\' );
add_action( \'manage_users_custom_column\', \'my_payment_column_value\', 10, 2 );

SO网友:Aniket Singh

你可以用这个

function modify_user_table( $column ) {
   $column[\'comments\'] = \'Comments\';
   return $column;
}
add_filter( \'manage_users_columns\', \'modify_user_table\' );

function modify_user_table_row( $val, $column_name, $user_id ) { 
   global $wpdb;
   if ($column_name == \'comments\') {
       $comment_count = $wpdb->get_var( wpdb->prepare( "SELECT COUNT(*) S total FROM $wpdb->comments WHERE comment_approved = 1 AND user_id = %s", $user_id ) );
       return $comment_count; 
   }
   return $val;
}
add_filter( \'manage_users_custom_column\', \'modify_user_table_row\', 10, 3 );
有关详细说明,请访问http://tekina.info/add-extra-column-user-listing-page-wordpress-admin-panel/

结束

相关推荐

Custom Admin Section

我正在创建一个新的自定义管理页面。由于我无法在此解释的原因(由于解释的长度),我无法通过自定义帖子类型创建自定义管理部分,但我必须手动创建此页面(我的意思是,我必须手动添加侧菜单和子菜单,然后手动添加页面内容……等等)。现在,我需要创建管理“小部件”(我不确定这是否是正确的术语,但我将在接下来的段落中解释我所说的“小部件”是什么意思)。如所附屏幕截图所示:其中一个小部件是“类别”(红色圆圈),另一个是“发布”,第三个是“格式”,等等。我需要以下内容我应该使用什么WordPress方法/操作来添加这些小部件