管理用户自定义列添加类“Num”

时间:2015-03-25 作者:Robbert

我已经定制了“管理用户”列,以显示“潜在买家”角色的已购买潜在客户。该列的值为十进制(引线数)。

users表的“posts”列有一个类“num”,因此<th> 以及<td> 样式为text-align: center;.

我也想在我的自定义列中添加一个“num”类。

是否有人知道在哪个文档中可以找到“manage\\u users\\u columns”和“manage\\u users\\u custom\\u columns”函数,以查看是否有可能添加类“num”?

Purchased leads column needs to be aligned center

The class num on the "posts" column

// Add users table header columns
add_filter( \'manage_users_columns\', \'gtp_users_table_columns\' );
function gtp_users_table_columns( $defaults ) {
    $defaults[\'purchased-leads\'] = __( \'Purchased leads\', \'gtp_translate\' );
    return $defaults;
}

// Add users table lead purchase column content
add_action( \'manage_users_custom_column\', \'gtp_users_table_content\', 10, 3 );
function gtp_users_table_content( $value, $column_name, $user_id ) {
    $leads = gtp_get_leads_by_buyer( $user_id );
    switch( $column_name ) {
        case \'purchased-leads\' : 
            return $leads->found_posts;
            break;

    }
}

4 个回复
最合适的回答,由SO网友:Richard Bonk 整理而成

解决方案很简单。添加单词num 定义如下列时:

// Add users table header columns
add_filter( \'manage_users_columns\', \'gtp_users_table_columns\' );
function gtp_users_table_columns( $defaults ) {
    $defaults[\'purchased-leads num\'] = __( \'Purchased leads\', \'gtp_translate\' );
    return $defaults;
}

// Add users table lead purchase column content
add_action( \'manage_users_custom_column\', \'gtp_users_table_content\', 10, 3 );
function gtp_users_table_content( $value, $column_name, $user_id ) {
    $leads = gtp_get_leads_by_buyer( $user_id );
    switch( $column_name ) {
        case \'purchased-leads num\' : 
            return $leads->found_posts;
            break;
    }
}
原始代码只有两个更改:

已更改$defaults[\'purchased-leads\']$defaults[\'purchased-leads num\'] 在第一个函数中case \'purchased-leads\'case \'purchased-leads num\' 在第二个功能中,WordPress将分配num 对标题和列初始化。不需要任何额外的div或其他元素。这也适用于您要添加的任何其他自定义类。

SO网友:redelschaap

这是不可能的,因为gtp_users_table_content 的函数manage_users_custom_column 动作挂钩在预定义范围内打印<td></td> 元素。但是,您可以在输出周围放置一个带有类的简单div:

// Add users table lead purchase column content
add_action( \'manage_users_custom_column\', \'gtp_users_table_content\', 10, 3 );
function gtp_users_table_content( $value, $column_name, $user_id ) {
    $leads = gtp_get_leads_by_buyer( $user_id );
    switch( $column_name ) {
        case \'purchased-leads\' : 
            return \'<div class="num">\' . $leads->found_posts . \'</div>\';
            break;

    }

    return \'\';
}
请注意,我在函数末尾添加了另一个return语句,以保持return语句的一致性。

Edit: added table header adjustments

要使表格标题单元格也居中,请执行以下操作:

// Add users table header columns
    add_filter( \'manage_users_columns\', \'gtp_users_table_columns\' );
    function gtp_users_table_columns( $defaults ) {
        $defaults[\'purchased-leads\'] = \'<div class="num">\' . __( \'Purchased leads\', \'gtp_translate\' ) . \'</div>\';
        return $defaults;
    }

SO网友:Bhavik Patel

在自定义列Custom posttype/post/page/和user list表中添加自定义类。

这是一个简单的请尝试添加列名,如“purchased leads num”,为单独的类留出空格。在列中添加Add“num”类,并像Post count一样自动将文本居中对齐,无需任何其他css。

add_filter( \'manage_users_columns\', \'gtp_users_table_columns\' );
function gtp_users_table_columns( $defaults ) {
    $defaults[\'purchased-leads num\'] = __( \'Purchased leads\', \'gtp_translate\' );
    return $defaults;
}

// Add users table lead purchase column content add_action( \'manage_users_custom_column\', \'gtp_users_table_content\', 10, 3 ); function gtp_users_table_content( $value, $column_name, $user_id ) { $leads = gtp_get_leads_by_buyer( $user_id ); switch( $column_name ) { case \'purchased-leads num\' : return $leads->found_posts; break;

}}

SO网友:Vuk Vukovic

最干净的方法是将CSS添加到您自己的列中。在这种情况下wp_enqueue_style(...); 使用:

.column-purchased-leads {
    width: 74px;
    text-align: center
}
您将得到整洁的列作为“Posts”。

结束

相关推荐

更改wp-admin/Customize.php中的设置会将CSS样式恢复为父主题

我有一个构建在樱桃框架主题之上的儿童主题。每当管理员用户转到wp admin/customize时。php并更改滑块,CSS将被完全破坏,需要备份。有没有人对Cherry框架有过任何经验,以及为什么它会导致这种情况?What would I need to add (or remove) to the functions.php to completely disable the customize page to prevent the end user from accidentally causin