因此,这里有一个快速的解决方案—通过对So进行一些搜索和查询分析:保留主查询,但添加一个用于排序的特殊过滤器。
过滤器(在function.php中):
function my_posts_orderby( $orderby ) {
$orderby = \'DATE(wp_posts.post_date) DESC, wp_postmeta.meta_value DESC\';
return $orderby;
}
请注意DATE()mysql函数,它将日期从full time字段中去掉。
然后,在循环之前,按如下方式运行查询:
<?php add_filter( \'posts_orderby\', \'my_posts_orderby\' ); ?>
<?php $the_query = new WP_Query( array( \'meta_key\' => \'_my_meta_field\' ) ); ?>
这意味着,调用过滤器,然后创建一个包含自定义元字段的查询,以便对其进行排序。
然后,在循环之后,不要忘记调用
<?php remove_filter( \'posts_orderby\', \'posts_orderby\' ); ?>
无法进行任何其他查询(包括显示单个帖子)
这是可行的。