2012-07-24 4 views
2

나는 워드 프레스 테마에 대한 사용자 지정 이벤트 게시 유형에 대해 작업 중이며 정렬 문제가 있습니다. 템플리트에 값을 침투 할 때까지 필요한 모든 것이 작동합니다. 나는 날짜순으로 나열된 사건들을 필요로하지만, 나는 그 사건을 일깨워 줄 수 없다. 내 코드는 다음과 같습니다.날짜로 Wordpress 사용자 지정 메타 상자 값 정렬

// From my custom meta box. Shows the type of field that 
// the user enters the date into. The prefix is _cmb_ 
array(
    'name' => 'Event Date', 
    'id' => $prefix . 'event_date', 
    'type' => 'text_date' 
), 

---- // ----- 

// Grab the date that's input from the user in the 
// Custom Meta Box and Convert the text_date to 
// YYYYMMDD format 
if ($field['type'] == 'text_date') { 
    $new = date('omd', strtotime($new)); 
} 

위 날짜 필자로부터 입력을 받고 텍스트를 다시 포맷합니다. 여기

// Tour Dates Loop 
$args = array(
    'post_type' => 'event', 
    'meta_key' => '_cmb_event_date', 
    'order_by' => 'meta_value_num', 
    'order'  => 'DESC' 
); 
$tourDates = new WP_Query($args); 

나는 적절한 포스트 유형, 메타 키를 잡아 WP_Query을 사용하고, 나는 그 메타 키를 통해 출력을 정렬하는 데 노력하고있어. 유일한 문제는 이벤트가 올바르게 정렬되지 않는다는 것입니다.

_cmb_event_date을 정수로 변환하려고했지만 제대로 작동하지 못했습니다. 나는 정수가 아니기 때문에 날짜 정렬이 올바르지 않다고 생각했다. 그러나 문자열.

Stack에 게시 된 여러 게시물을 검토 한 결과 나에게 맞는 대답을 찾지 못하는 것 같습니다. 어떤 도움을 많이 주시면 감사하겠습니다! 코드에 대한 추가 컨텍스트가 필요하면 알려주십시오.

+0

더 자세히 살펴보면 정렬을위한 타임 스탬프로 날짜를 변환하기 위해'strtotime()'을 사용하고 있어도 맞춤 메타 박스를 만들기 위해 사용하고있는 라이브러리가 날짜를 문자열로 변환하는 것으로 보입니다. 분류가 제대로 작동하지 않는 것은 당연합니다! –

답변

1

문제가 해결되었습니다. 'order_by' => 'meta_value_num','orderby' => 'meta_value_num',이어야합니다.

관련 문제