query_posts orderby postmeta

时间:2013-12-19 作者:shanebp

我正在尝试检索自定义帖子类型,并按Posteta中存储的自定义日期进行排序。

自定义日期是unix时间戳。meta\\u查询工作正常-它只检索将来具有自定义日期的帖子。

但是orderby不起作用-订单仍然基于post\\u日期。

我错过了什么?

   $today = date("m/d/Y");
   $today = strtotime( $today ); 

    query_posts( array(
        \'post_type\'      => \'custom_cpt\',
        \'orderby\'    => \'meta_value\',
        \'meta_key\'   => \'custom_date\',
        \'paged\'          => $paged,
        \'posts_per_page\' => 5,

        \'meta_query\' => array(
            array(
                \'key\'       => \'custom_date\',
                \'value\'     => $today,
                \'compare\'   => \'>\',
                \'type\'      => \'NUMERIC\',
            ),
        ),
    ));

1 个回复
SO网友:Chittaranjan

对于数字数据orderby 键的值应为meta_value_num. 使用WP_Query 和更改

\'orderby\' => \'meta_value\'

\'orderby\' => \'meta_value_num\'

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在