2013-09-24 2 views
0

현재 코드는 cpt 'events'의 게시물 5 개를 표시합니다.향후 이벤트 만 표시 (cpt)

//get post type ==> events 
global $post; 
$args = array(
     'post_type' => 'events', 
     'numberposts' => $data['home_events_count'], 
     'orderby' => 'meta_value', 
     'meta_key' => 'timestamp_earth_event_start_date', 
     'meta_query' => $meta_query 
); 

내가 그들의 'timestamp_earth_event_start_date'는 현재 날짜보다 오래된 것을 게시물 (이벤트)를 필터링 할이 내가 사용하고 코드입니다.

코드를 직접 수정하려고 시도했지만 과거 이벤트가 표시됩니다.

도움이 될 것입니다.

+0

처럼 쿼리 필터를 추가 할 수 있습니다

$args = array( 'post_status' => 'publish', 'post_type' = 'events' , 'meta_key' => 'timestamp_earth_event_start_date', 'order' => 'DESC', 'orderby' => 'meta_value_num' ); $event_posts = new WP_Query($args); 

다른 옵션을 전달하여 쿼리 문자열

$numposts=$data['home_events_count']; query_posts('post_type=events &post_status=publish&numberposts=$numposts &posts_per_page=1 &meta_key=timestamp_earth_event_start_date &orderby=meta_value_num &order=DESC') 

에게 전달이 하나를 시도 나는이 질문을 업데이트 할 것 timestamp_earth_event_start_date가 참조하는 것은 무엇입니까? 어떤 유형의 필드입니까, 맞춤 필드입니까? – SMacFadyen

+0

timestamp_earth_event_start_date는 이벤트의 시작 날짜를 보유하는 사용자 정의 필드입니다 – user2093301

+0

timestamp_earth? 다른 행성에서 코드를 지원할 수 있도록 기능을 계속 열어두고 있습니까? – TravisO

답변

1

배열 당신이

add_filter('posts_orderby', 'my_posts_orderby_date', 10, 2); 
function my_posts_orderby_date($orderby, $query) { 
    global $wpdb; 
    return " CAST($wpdb->postmeta.meta_value AS DATE) " . $query->get('order'); 
} 
+0

dianuj 정말 고마워요! 나는 3 번 모두 시도했지만, 두 번째 것은 작동하지만 사소한 버그가있는 것 같습니다. 과거의 이벤트를 숨기고 미래의 이벤트를 보여 주지만 제목, 설명 또는 기타 사항이없는 '이벤트'가 추가됩니다. 이것은 전체 코드에 대한 링크입니다 : http://pastebin.com/W50fnhWk – user2093301

+0

Sory 이것은 분명하지 않았습니다 * "그러나 또한 제목, 설명 또는 아무것도없이"이벤트 "의 추가 라인을 추가 * 및 과거 이벤트 보이지 않는 이유는 모든 이벤트 게시물을 원할 경우 게시물의 제한이 있기 때문에'nopaging' 매개 변수를'true'로 전달해야합니다. 그러면 이벤트의 모든 게시물을 얻을 수 있습니다. 그렇지 않으면 게시물의 기본 제한이 적용됩니다. –

+0

쿼리 현재 날짜보다 오래되지 않은,하지만 1 이벤트가 있기 때문에 만 1 개 이벤트를 표시해야하는 대신 내가 무엇을 얻을 수 있습니다 :

My Event
즉, 코드는 이전 이벤트를 필터링하지만 다른 이벤트의 빈 항목도 계속 추가합니다. 어쩌면 내 foreach ($ event_posts $ post)에 문제가 있습니까? – user2093301

관련 문제