WordPress WP_Query:根据自定义元值显示自定义帖子类型,并在另一个自定义元值上排序

时间:2014-06-09 20:30:51

标签: php wordpress custom-fields advanced-custom-fields

我正在使用WordPress插件Advanced Custom FieldsCustom Post Type UI

我已经构建了一个WP_Query来显示特定的帖子类型,并按特定的自定义字段值进行过滤。

$loop = new WP_Query( array( 
    'post_type' => 'news', 
    'meta_key' => 'news_story_type', 
    'meta_value' => 'release', 
    'posts_per_page' => 3 
) );

我现在想要按照另一个自定义字段date_of_publication对结果帖子进行排序,而不是使用WordPress的menu_order或日期。 ACF documentation表示在查询参数中指定orderbymeta_key

  

$ args = array(

     

' post_type' => '事件',

     

' posts_per_page' => -1,

     

' meta_key' => '起始日期',

     

'的OrderBy' => ' meta_value_num',

     

'为了' => ' DESC' );

但是,这样做与我已经提供过滤的meta_key冲突。

以前是否有人遇到此问题并找到解决方案?

1 个答案:

答案 0 :(得分:3)

尝试使用meta_query

$loop = new WP_Query( array( 
    'post_type' => 'news', 
    'meta_key' => 'start_date',
    'orderby' => 'meta_value_num',
    'order' => 'DESC',
    'posts_per_page' => 3,
    'meta_query' => array(
        array('key' => 'news_story_type', 'value' => 'release')
     )
) );