2016-06-22 47 views
1

我有以下wp_query。此查詢基於ACF(高級自定義字段)日期字段篩選自定義帖子類型。此查詢顯示自定義字段中提供的日期等於當前年份或將來的所有帖子。根據meta_key僅顯示當前年度的文章 - Wordpress

<?php 
    $current_year = date('Y'); 


    $args = array(
    'post_type' => 'result', 
    'meta_key' => 'date_field', 
    'meta_query' => array(
     array(
      'key'  => 'date_field', 
      'compare' => '>=', 
      'value'  => $current_year, 
            )), 
      ); 
      $the_query = new WP_Query($args); ?> 
... 

我喜歡做的是僅顯示當年的帖子。在上面的查詢中仍然會顯示未來的年份。

我嘗試刪除比較值或將其更改爲'=='。但沒有帖子顯示。我假定原因是'date_field'內的值以格式('Ymd')存儲。

我看着ACF documentation並找到一種方法來提取一年的日期字段,像這樣:

$date = get_field('date_field', false, false); 
$date = new DateTime($date); 
$date->format('Y'); 

,但我不知道如何,我可以實現我的查詢內部的價值。我試着將密鑰值更改爲$date,但沒有顯示任何帖子。

+0

能否打印'get_field( 'DATE_FIELD')的值'創建日期時間過嗎?另外運營商應該是''=''。 – Erevald

+0

是的,我可以打印字段的值,該部分是沒有問題的,我只是不知道我可以實現它到我的查詢。 – Christophvh

+0

正如你能告訴我該領域的價值是什麼? – Erevald

回答

0

ACF的保存日期‘YYYYMMDD’

$args = [ 
    'post_type' => 'result', 
    'meta_key'  => 'date_field', 
    'meta_value' => date("Ymd"), 
    'meta_compare' => '>=', 
]; 
$query = new WP_Query($args);