我在用户管理选项卡中创建了一个新列,名为;列表;。每一行都是一个数字,表示用户有多少个列表。
//// ADD THE NEW COLUMN
add_filter( \'manage_users_columns\', \'add_listing_count_column\' );
function add_listing_count_column( $columns ) {
$columns[\'Listings\'] = \'Listings\'; //
return $columns;}
// FILL THE NEW COLUMN
add_filter( \'manage_users_custom_column\', \'add_listing_count_column_row\', 10, 3 );
function add_listing_count_column_row( $row_output, $column_id_attr, $user_id ) {
if ( $column_id_attr == \'Listings\') {
return count_user_posts( $user_id, \'job_listing\' );
}
return $row_output;}
我想对该列进行排序。。但它一直按用户名排序。。。知道会是什么吗?
// MAKE THE NEW COLUMN SORTABLE
add_filter( \'manage_users_sortable_columns\', \'add_listing_count_column_sortable\',10,3 );
function add_listing_count_column_sortable( $columns ) {
return wp_parse_args( array( \'Listings\' => \'Listings\' ), $columns );
}
add_action( \'pre_get_users\', \'smartwp_sort_last_login_column\' );
function smartwp_sort_last_login_column( $query ) {
if ( ! is_admin() ) {
return $query;
}
$screen = get_current_screen();
if ( isset( $screen->id ) && $screen->id !== \'users\' ) {
return $query;
}
if ( isset( $_GET[ \'orderby\' ] ) && $_GET[ \'orderby\' ] == \'Listings\' ) {
$query->query_vars[\'orderby\'] = \'post_count\';
}
return $query;
}
谢谢你
最合适的回答,由SO网友:Petar Petrov 整理而成
如果orderby
等于post_count
, WordPress将always work with posts from the default post type post
. 您可以做的是,尝试修改that part of the query 对于此特定情况。
像这样的方法应该会奏效:
add_filter( \'query\', \'smartwp_sort_last_login_column_query\' );
function smartwp_sort_last_login_column_query( $query ) {
if ( ! is_admin() ) {
return $query;
}
$orderby = isset( $_GET[ \'orderby\' ] ) ? $_GET[ \'orderby\' ] : false;
if ( $orderby !== \'Listings\' ) {
return $query;
}
if ( stripos( $query, \'SELECT post_author, COUNT(*) as post_count\' ) !== false ) {
$query = str_replace( \'( post_type = \\\'post\\\' AND\', \'( post_type = \\\'job_listing\\\' AND\', $query );
}
return $query;
}
这样做的目的是告诉WordPress从自定义帖子类型中统计帖子数量
job_listing
. 请注意,这只适用于您的具体情况。
确保对其进行全面测试,因为这是query 钩子,在上执行every WordPress生成的数据库查询。