2017-11-03 20 views
0

私は以下のACFカスタムフィールドを含む投稿を持っています:開始日と終了日はこの形式でY-m-d H:i:sです。2つの日付間の投稿を取得します

WP_Queryを使用して、開始日が24時間未満、終了日が24時間未満のすべての投稿を取得したいとします。

どうすればよいですか?

+0

コードが表示されないのですか、私は盲目ですか? –

+0

WP_Queryで[meta_query](https://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters)を使用します。 – janh

答えて

1

https://wordpress.stackexchange.com/questions/194352/only-display-post-if-published-in-last-24-hours

$args = array(
'post_type' => 'surf_reports', 
    'posts_per_page' => '1', 
    'date_query' => array(
    array(
     'after' => '24 hours ago' 
     ) 
) 
); 

、このスニペットを試してみてください

OR

// Run the query. 
$expire_window = date('Y-m-d H:i:s', strtotime('1 day')); 
$expiring_ads = new WP_Query(array( 
     'post_type'  => 'post', 
     'posts_per_page' => 5, 
     'no_found_rows' => true, 
     'orderby'  => 'meta_value', 
     'order'   => 'ASC', 
     'meta_query'  => array(
           'relation' => 'AND', 
           array(
            'key' => 'start_date', 
            'value' => $expire_window, 
            'compare' => '<=' 
           ), 
           array(
            'key' => 'end_date', 
            'value' => date("Y-m-d H:i:s"), 
            'compare' => '>=', 
            'type' => 'DATETIME' 
           ) 
     ) 
    )); 

・ホープ、この意志はあなたを助けます。

+0

ありがとうございました! ;) –

+0

ようこそ。 ;) –

0

これはmeta_query-https://codex.wordpress.org/Class_Reference/WP_Meta_Queryで実行できます。

簡単な例:

$start = '2011-11-31'; 
$end = '2011-10-01'; 
$args = array(
    'post_type' => 'my-event-type', 
    'posts_per_page' => -1, 
    'orderby' => 'meta_value', 
    'order' => 'ASC', 
    'meta_key' => '_my-datetime-from', 
    'meta_query' => array(
     array(
      'key' => '_my-datetime-from', 
      'value' => array($start, $end), 
      'compare' => 'BETWEEN', 
      'type' => 'DATE' 
     ) 
    ) 
); 
// Make the query 
関連する問題