按多个值对存档中的自定义帖子进行排序:日期和元键

时间:2012-06-29 作者:unfulvio

我有一个帖子类型,我想根据两个值对其存档中的帖子进行排序:

meta 名为“artwork\\u year”的值,其中包含一个4位数字(年),邮寄publish date查询应该做的是:首先获取artwork\\u年份,并相应地对帖子进行排序(显示第一个更高的数字…即首先是2012年artwork,然后是2011年,然后是2010年,等等),然后由于许多帖子共享同一年,请按发布日期对其进行排序。

我在http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters 然后尝试

    $artwork = array(

           \'post_type\' => \'artwork\',   
           \'posts_per_page\' => 10,
           \'paged\' => get_query_var( \'paged\' ),
           \'meta_key\' => \'artwork_year\', 
           \'orderby\' => \'meta_value_num date\', 
           \'order\' => \'DESC\'

    );

    query_posts( $artwork ); 

    while ( have_posts() ) : the_post(); 

           // loop stuff

    endwhile;

    wp_pagenavi();
然而,如果我这样做。。。顺序不对。。。现在,我将其设置为默认值DESC;它应该展示2012年的第一件艺术品,然后是2011年的。。。并根据发布日期对2011年或2012年的艺术作品进行分类。。。然而,我得到的是2011年的第一件艺术品(无论订单是设置为ASC还是DESC),然后是2012年的帖子。。。我如何先获得2012年,然后是2011年以及其他所有的?

非常感谢。

2 个回复
SO网友:Max Yudin

查询参数中存在语法错误:“orderyby”。

SO网友:Andre A

如果查看下面的行,您会发现“orderby”参数中有一个额外的“y”。移除它应该可以修复它。

 \'orderyby\' => \'meta_value_num date\', // note: I also tried with meta_value

结束

相关推荐

我应该如何截取主查询并注入定制连接/ORDER BY/GROUP BY条件

我有一个CPT,它是两个独立分类法的成员。在其中一种分类法的分类法归档页面上,我需要对第二种分类法进行进一步分组和排序,如下所示:我的网站。com/tax1/term1/tax2-term1-post-post-post[参见更多]tax2-term2-post-post-post[参见更多]。。。等更好的示例要提供更容易访问的示例,请考虑以下CPT:玩具。还有两种分类法:颜色和年龄组。在mysite的分类法归档页面上。com/colour/red,我需要对第二个分类法“年龄组”进行进一步分组,如下所示:

按多个值对存档中的自定义帖子进行排序:日期和元键 - 小码农CODE - 行之有效找到问题解决它

按多个值对存档中的自定义帖子进行排序:日期和元键

时间:2012-06-29 作者:unfulvio

我有一个帖子类型,我想根据两个值对其存档中的帖子进行排序:

meta 名为“artwork\\u year”的值,其中包含一个4位数字(年),邮寄publish date查询应该做的是:首先获取artwork\\u年份,并相应地对帖子进行排序(显示第一个更高的数字…即首先是2012年artwork,然后是2011年,然后是2010年,等等),然后由于许多帖子共享同一年,请按发布日期对其进行排序。

我在http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters 然后尝试

    $artwork = array(

           \'post_type\' => \'artwork\',   
           \'posts_per_page\' => 10,
           \'paged\' => get_query_var( \'paged\' ),
           \'meta_key\' => \'artwork_year\', 
           \'orderby\' => \'meta_value_num date\', 
           \'order\' => \'DESC\'

    );

    query_posts( $artwork ); 

    while ( have_posts() ) : the_post(); 

           // loop stuff

    endwhile;

    wp_pagenavi();
然而,如果我这样做。。。顺序不对。。。现在,我将其设置为默认值DESC;它应该展示2012年的第一件艺术品,然后是2011年的。。。并根据发布日期对2011年或2012年的艺术作品进行分类。。。然而,我得到的是2011年的第一件艺术品(无论订单是设置为ASC还是DESC),然后是2012年的帖子。。。我如何先获得2012年,然后是2011年以及其他所有的?

非常感谢。

2 个回复
SO网友:Max Yudin

查询参数中存在语法错误:“orderyby”。

SO网友:Andre A

如果查看下面的行,您会发现“orderby”参数中有一个额外的“y”。移除它应该可以修复它。

 \'orderyby\' => \'meta_value_num date\', // note: I also tried with meta_value

相关推荐

WP_Query order by two values

我试图让WP\\u查询按两个不同的值排序,但我不知道怎么做。我试图通过结束时间在一个查询中获取事件。在每个datetime值为YYYY-MM-DD H:i:s的事件中都有自定义的ending\\u date\\u time字段。我需要查询以获取值,以便第一个是最接近结束的事件,依此类推,如果有已结束的事件,则它们位于尚未结束的事件之后。使用MySQL,我会这样做:SELECT * FROM events ORDER BY event_endtime < NOW(), event_endtime AS