我有一个工作正常的WP_Query,但是我现在需要修改它,以便根据usermeta中的值进行排序(在这种情况下,用户具有'jobs_order'的meta_key)。这是一个数字值,这个想法是我根据这个命令发布帖子,例如一个值为0的用户将在下一个用户拥有1之前看到他们的帖子。WP_Query order by usermeta value
我已经迷上了它:
add_filter('posts_join', 'wpa_66507_join');
function wpa_66507_join($join) {
if (is_page('browse-jobs') && is_main_query()) {
global $wpdb;
// join the usermeta table so we can sort by meta key
$join .= " LEFT JOIN {$wpdb->usermeta} AS um ON (um.user_id = {$wpdb->posts}.post_author AND um.meta_key = 'jobs_order')";
}
return $join;
}
而WP_Query被设置为由um.meta_value_num ASC命令。然而,这不起作用,无论我是否注释加入声明,这些帖子仍保持相同的顺序。对此感到非常感激。
你好,据我所知,你必须做一个邮政分拣顺序吧? –
嗨,是的,这是正确的 –