2014-11-10 6 views
0

"event_end_date"라는 사용자 정의 파일로 게시물이 있습니다. 내가 고급 사용자 정의 필드를 사용하고 있습니다. end_date가 오늘보다 오래된 게시물을 얻으려면 어떻게해야합니까? 나는 이것으로 노력했지만, 통과 할 수 없었다.WP_Query에서 날짜와 일치하는 메타를 사용합니다.

$args = array(
     'cat'  => '6, -33', 
     'numberposts' => -1, 
     'post_type'  => 'post', 
     'meta_query' => array(
      array(
       'key' => 'event_end_date', 
       'value' => date('y-m-d'), 
       'type' => 'DATE', 
       'compare' => '>' 
      ) 
     ) 
    ); 

//get results 
$the_query = new WP_Query($args); 

여기 카테고리 '6'과 카테고리 '33'이없는 게시물이 필요했습니다. - 백엔드에서 필드 'event_end_date은'이 있습니다

Field Type: Date Picker 
Display format: 10/11/2014 
Return format: 20141110 

답변

0

나는 당신이 실제 사용자 정의/메타 필드에 저장되는 데이터를 자세히 살펴 너무 있다면, 당신은 그것으로 저장된 것을 알 거라고 생각 UNIX 형식의 타임 스탬프가 아니라 반환 또는 표시 형식이 있기 때문에 문제는 형식이 일치하지 않는다는 것입니다.

U code for unix timestampdate('U') 대신 date('y-m-d') 대신 사용하여 그 차이를 설명 할 수 있습니다. 당신의 코드는 다음과 같을 것이다이 경우

:

$args = array(
    'cat'  => '6,-33', 
    'numberposts' => -1, 
    'post_type'  => 'post', 
    'meta_query' => array(
     array(
      'key' => 'event_end_date', 
      'value' => date('U'), 
      'type' => 'DATE', 
      'compare' => '>' 
     ) 
    ) 
); 

//get results 
$the_query = new WP_Query($args); 
+0

안녕하세요, 답변 해 주셔서 감사합니다. 나는 날짜 ('U')를 사용하려했지만 작동하지 않았습니다. 그런 다음 데이트 ('Y-m-d', time())를 시도해 보았습니다. –

0

날짜 사용 ('Y-m-D', 시간()) 나를 위해 문제를 해결했다.

$args = array(
     'category__and'  => array(6), 
     'category__not_in' => array(33), 
     'numberposts'  => -1, 
     'post_type'   => 'post', 
     'post_status'  => 'publish', 
     'meta_query'  => array(
      array(
       'key'  => 'event_end_date', 
       'value'  => date('Y-m-d', time()), 
       'type'  => 'DATE', 
       'compare' => '<' 
      ) 
     ) 
    );