我正在尝试为CPT列表创建可排序的列标题,但我只限于一个部分。单击“Assignee”列标题时,我希望列表按用户登录名的字母顺序显示。
中的以下内容pre_get_posts
按用户ID排序(通过高级自定义字段保存为meta\\u值):
$query->set(\'meta_key\', \'assignee\' );
$query->set(\'orderby\', \'meta_value\' );
但是,我想订购的不是ID,而是它对应的user\\u登录名。
我已经成功地使用了本文中的代码(http://scribu.net/wordpress/sortable-taxonomy-columns.html) 对于分类排序(在不同的列中),但我不知道如何将相同的技术应用于用户表。
我在posts_orderby
过滤器,但我离得太远了。
SELECT GROUP_CONCAT(user_login ORDER BY user_login ASC)
FROM $wpdb->users
INNER JOIN $wpdb->postmeta ON $wpdb->postmeta.meta_value = ID
INNER JOIN $wpdb->posts ON $wpdb->postmeta.post_id = $wpdb->posts.ID
WHERE $wpdb->postmeta.meta_key = \'assignee\'
GROUP BY user_login
我真的很感谢你的帮助!