无论发生什么,似乎都无法运行:
$args = array(...);
$unitsQuery = new WP_Query($args);
function customCompare($a, $b)
{
return strcasecmp($a->post_title,$b->post_title);
}
$unitsQuery->posts = usort($unitsQuery->posts, 'customCompare');
if( $unitsQuery->have_posts() ) {
while($unitsQuery->have_posts()) : $unitsQuery->the_post();?>
<div><?php the_title(); ?></div>
<?php endwhile;
}
wp_reset_postdata();
一切都很好,不用打电话。我真的需要在查询后运行自定义排序。
最佳答案
注意usort()
只返回true
或false
,因此使用此行:
$unitsQuery->posts = usort($unitsQuery->posts, 'customCompare');
你在重写帖子。更改为:
usort( $unitsQuery->posts, 'customCompare' );
我想知道为什么必须使用
usort
而不是orderby
的WP_Query
参数或posts_orderby
过滤器。