【问题标题】:Wordpress / Acf Query Posts by a custom field and order them by anotherWordpress / Acf 按自定义字段查询帖子并按另一个排序
【发布时间】:2016-05-22 09:06:32
【问题描述】:

这是我的问题,我有一个自定义帖子类型“排放”,我编写了一个查询来获取所有日期字段等于今天的帖子,以及字段小时低于当前时间的所有帖子,以便查询用于显示“即将到来”,

到目前为止,我很好,但是当按字段小时排序帖子时,按升序排列,输出根本没有排序,我的代码有什么问题吗?

$args = array(
'posts_per_page' =>3,
'post_type'     => 'emissions',
'meta_query'    => array(
    'relation'      => 'AND',
    array(
        'key'       => 'jour',

        'value'     => $lyoum,
        'compare'   => '='
    ),
    array(
        'key'       => 'horaire',
        'value'     => $douka,
        'compare'   => '<',
        'order_by'      => 'meta_value_num',
        'order' => 'DESC',
    )
));

如果有人愿意帮忙,那就太好了,

ps : 变量是

$lyoum = $today , datetime 获取当前日期,

$douka = $now ,datetime 获取当前时间,

提前致谢。

【问题讨论】:

    标签: php sql wordpress advanced-custom-fields


    【解决方案1】:

    您的订单参数在 WP_Meta_Query 参数中放错了位置。相反,它们属于主要的WP_Query args。您还需要指定要排序的元键。

    . . . 
    'post_type'     => 'emissions',
    'meta_key'      => 'horaire' // specify which key to order by.
    'orderby'       => 'meta_value_num', // move from WP_Meta_Query.
    'order'         => 'DESC', // same as above.
    'meta_query'    => array(
    . . . 
    

    【讨论】:

    • 还是一样,当我做你的代码时,我得到了 19:30,然后是 22:00,然后是 13:00 谢谢你顺便帮我:)
    • 啊,您是按 meta_value_num 排序的,因此冒号将是一个问题。我之前没有注意到的一件事是参数名称也不正确。 orderby 就是一个词。
    • 别担心,我没有“复制粘贴”你给我的所有代码,我只是接受了这个想法并从头开始编写查询,仍然没有工作:(跨度>
    • 没有参数吗,比如meta_value_datetime什么的?
    • 我不知道。我会考虑改变你在元值中存储时间的方式。也许作为一个纯数字,然后在输出时用冒号格式化。失败了,我认为您将不得不编写自定义订单功能
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 2020-01-28
    • 2015-08-07
    • 2012-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多