2017-03-10 5 views
0

メタ値を持つカスタムポストタイプがあります。最終更新日が含まれています。 最新の日付のメタ値が他の日付と比較されずに投稿IDを取得する必要があります。 以下は投稿IDを取得する私のwpクエリーですが、動作していません。比較なしで最新の日付にポストベースを取得

$args = array(
    'posts_per_page' => 1, 
    'meta_query' => array(
     'relation' => 'AND', 
     array(
      'key' => 'post_status', 
      'compare' => '=', 
      'value' => 'active' 
     ), 
     array(
      'key' => 'other_cpt_id', 
      'compare' => '=', 
      'value' => $cptID 
     ), 
     array(
      'key' => 'post_last_update_date', 
      'value' => '', 
      'compare' => '>', 
      'type' => 'DATE' 
      )    
    ), 
    'orderby' => array('meta_value_num' => 'ASC','ID' => 'ASC'), 
    'post_type' => 'custom_post_type', 
    'post_status' => 'publish' 
    ); 

答えて

0

あなたはWP 4.2 +を使用している場合は、次のことを試してください:

$args = array(
    'posts_per_page' => 1, 
    'meta_query' => array(
     'relation' => 'AND', 
     array(
      'key' => 'post_status', 
      'compare' => '=', 
      'value' => 'active' 
     ), 
     array(
      'key' => 'other_cpt_id', 
      'compare' => '=', 
      'value' => $cptID 
     ), 
     array(
      'key' => 'post_last_update_date', 
      'value' => '', 
      'compare' => '>', 
      'type' => 'DATE' 
      )    
    ), 
    'orderby' => array('post_last_update_date' => 'ASC', 'ID' => 'ASC'), 
    'post_type' => 'custom_post_type', 
    'post_status' => 'publish' 
); 

いくつかのソース:

一般WP_Query:https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters

4.0+のorderby配列:https://make.wordpress.org/core/2014/08/29/a-more-powerful-order-by-in-wordpress-4-0/

4.2+ orderbyメタデータ:https://make.wordpress.org/core/2015/03/30/query-improvements-in-wp-4-2-orderby-and-meta_query/

+0

これは動作していません...私は、meta値からの最終更新日、post idの順序による必要はありませんメタクエリのpost idベースが必要です。 –