wp_query中的错误?文字出版社


$query_args = array(
'post_type' => 'post',
'posts_per_page' => 6,
'order'=> 'desc',
'orderby' => 'meta_value date',
'paged' => $paged
);

这是我当前对帖子进行排序的查询。它的作用是首先显示带有任何帖子元的帖子,然后按日期对其余的帖子进行排序。但是,在WordPress参考中,它说meta_key应该存在才能使其工作。

这到底是怎么回事?

要回答您关于"这里到底发生了什么?"的问题:

要按元键对帖子进行排序,您需要在查询中提供以下内容:

'meta_key' => 'custom_date',
'orderby' => 'meta_value',
'order' => 'DESC',

以及其他查询参数。

meta_key 是您要作为排序依据的字段的名称(无论您在哪里存储了要作为排序依据的日期)

orderby 告诉 WP 您要使用存储在所选meta_key中的值。您还可以告诉wp需要什么类型的数据,例如"meta_value_num"

顺序是您要对帖子进行排序的方向。

'orderby' => 'meta_value date'不是有效的参数。

您可以拥有:

'orderby' => 'date'按发布日期或元键排序,但WordPress无法说"这个'meta_key'是'日期'格式。你必须自己做。

https://wordpress.stackexchange.com/questions/177070/filter-query-based-on-date-in-custom-field

最新更新