2011-03-24 2 views
1

나는 게시물 페이지에 대한 쿼리가 있습니다.사용자 정의 필드에 의해 주문 비어있는 경우에도 포함 - wordpress

사용자 지정 게시 유형 및 사용자 지정 필드 값을 기반으로 결과를 반환합니다. 이제 다른 사용자 정의 필드를 기반으로 결과를 정렬하는 기능을 추가했습니다.

$loop = new WP_Query(array ('post_type' => 'new', 'orderby' => 'meta_value_num', 'meta_key' => 'over-length', 'meta_query' => array(array('key' => 'over-make', 'value' => 'Doral', 'compare' => 'LIKE')))); 

저는 약간의 문제가 있습니다. '길이 초과'라는 사용자 정의 필드로 결과를 정렬하지만 게시물에 '길이 초과'값이 없으면 결과에서 제외됩니다.

내가 orderby에 대한 가치가없는 게시물을 포함하도록 내 코드를 어떻게 바꿀 수 있는지 궁금합니다.

또한 해결 방법을 생각했지만 해결 방법을 모르겠습니다. 내 맞춤 필드를 만들기 위해 "다른 필드"라는 플러그인을 사용하고 있습니다. '길이 초과'필드가 비어 있는지 확인하고 0으로 설정하는 것이 더 쉬울까요? 그렇다면 어떻게해야합니까?

업데이트

나는 조금 더 문제에 대해보고했습니다. '길이 초과'에 값을 지정하지 않으면 사용자 정의 필드가 데이터베이스의 wp_postmeta에 추가되지 않는 것 같습니다. 게시물에 길이가 더 긴 값을 제공 한 다음 되돌아 가서 제거하면 실제로 필드에 데이터베이스가 있으므로 쿼리에 결과가 포함됩니다. 그렇다면이 사용자 정의 필드에 값이 있거나없는 경우이 필드를 데이터베이스에 입력하려면 어떻게해야합니까? 마지막 요청에 대한

+0

'길이 초과'에 대한 meta_value가없는 소식이 제외 된 것을 확인할 수 있습니까? 그 쿼리는 meta_key가 '길이 초과'인 게시물을 제외 할 것이라고 말하고, 값이없는 필드가 있으면 포함시킬 것입니다. – AJJ

+0

네 말이 맞아. 그래서 필드를 비워두면 데이터베이스에 추가 할 meta_key를 어떻게 얻을 수 있습니까? – Adam

+1

thew 메타 키가 주문에 사용되었고이 값이 비어있는 게시물이있는 경우 주문에 어떻게 포함 시키시겠습니까? 당신이 언급 한 쿼리 뒤에 meta_key가없는 게시물 만 포함 된 두 번째 쿼리를 실행할 수 있습니까? – ckaufman

답변

0

-이 비어있는 경우에도 모든 게시물에 meta_key (사용자 정의 필드)를 추가하는 방법에 대한 : 나는 종종 이런 종류의 플러그인 Custom Fields Template를 사용

. 그것은 당신이 사용하고있는 것과 비슷합니다 (더 많은 필드). 그러나 필드를 가지고 놀 수있는 많은 가능성을 제공합니다. 가장 중요한 것은 숨겨진 필드와 기본값을 조정할 수 있다는 것입니다. 공백으로 남겨두면 필드가 삽입되도록 기본 = ''(공백)을 설정할 수 있습니다. 또는 더 많은 작업을 수행하면서 값을 비워 두지 않고 모든 필드를 DB에 삽입하도록 플러그인 코드를 수정하십시오. CustomFieldsTemplate의 경우에는 그렇게하는 것이 어렵지 않습니다.

관련 문제