【问题标题】:Wordpress Orderby conditionsWordPress Orderby 条件
【发布时间】:2013-12-27 11:01:35
【问题描述】:

我正在显示由过滤器集返回的帖子列表,我正在尝试按 DESC 顺序按 2 个条件对列表进行排序。

第一个条件:我想通过自定义字段“date_study_was_published”订购(日期格式为 yyyymmdd)。

第二个条件:如果自定义字段('date_study_was_published')有多个具有相同'meta_value_num'的帖子,则具有较新'date'值的帖子应该排在第一位.

这是我的参数:

$limit = 10;
$big = 999999999;
$params = array(    
   'post_type'      => 'trackedstudies',
   'posts_per_page' => $limit,
   'paged'          => $paged,
   'meta_key'       => 'date_study_was_published', 
   'orderby'        => 'meta_value_num date',
   'order'          => 'DESC',
);

内置的 orderby 功能似乎无法胜任。我需要写一个新函数吗?

【问题讨论】:

    标签: php mysql wordpress


    【解决方案1】:

    尝试使用, 分隔符

    'orderby' => 'meta_value_num , date',
    

    【讨论】:

    • 引号内似乎没有逗号。
    【解决方案2】:

    显示按“meta_value_num”和“date”排序的页面。 (meta_value_num 占优势):

    'orderby' => 'date  meta_value_num',
    

    显示按 menu_order 排序的帖子,并以降序显示帖子标题:

    $query = new WP_Query( array ( 'orderby' => 'menu_order title', 'order' => 'DESC' ) );
    

    参考:http://codex.wordpress.org/Class_Reference/WP_Query

    【讨论】:

    • 感谢您的回复。实际上,我已经在使用空格分隔符了,我只是尝试按照您的建议颠倒顺序,例如“日期 meta_value_num”,但它似乎忽略了 DESC 的“日期”参数...当您说 meta_value_num是“主导”,在这种情况下,主导到底是什么意思?
    • 感谢您的参考。我刚刚检查了它,我看到了你提到的关于后备的符号,但由于某种原因,我的 orderby 似乎没有正确接受参数(据我所知)。它以“日期”ASC 顺序显示它们,我要求以 DESC 顺序提供“meta_value_num 日期”……有任何想法或过去的经验可以说明问题吗?
    • 有人有什么想法吗?
    猜你喜欢
    • 2012-02-06
    • 1970-01-01
    • 2014-07-25
    • 2016-04-02
    • 1970-01-01
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多