2014-10-17 6 views
0

WP 쿼리의 반환 된 필드를 제한하여 서버의 응답 속도를 높이고 검색되는 데이터 양을 줄이는 데 도움을줍니다. 내가 사용하고있는 쿼리의 경우 최대 3 개의 데이터 필드 만 필요하며 나머지는 루프의 ACF get_field_object를 통해 가져옵니다. get_posts 또는 get_terms와 같은 다른 함수는 필드 옵션이 있지만 '슬러그'또는 'id => slug'와 같은 작은 수로 제한됩니다.WP_Query 또는 'get'함수에서 반환 된 Wordpress 필드 제한

저는 CakePHP에서 개발하는 데 익숙합니다. CakePHP는 반환 할 각 필드를 지정할 수 있지만이 프로젝트는 다른 기능을 위해 wordpress를 요구하므로 매우 제한적입니다.

TL은, DR은 ... 개체를 반환합니다 워드 프레스

+0

필드 란 무엇입니까? 그들은 모두 관습입니까? – rnevius

+0

내가보고 싶은 필드는 'post_content', 'guid', 'post_modified'등과 같이 기본값으로 오는 필드입니다. – sneexz

+0

[WordPress의 WP \ _Query 클래스에서 선택된 필드 가져 오기] (http : //stackoverflow.com/questions/16559326/fetch-selected-fields-in-wp-query-class-in-wordpress) – rnevius

답변

1

WP_Query 게시물을 점점 속도를 필요 그래서 꽤 빨리이다. 그러나 반환 할 내용을 실제로 제한하려면 Return Fields ParameterWP_Query 인 경우이를 수행 할 수 있습니다.

+0

나는 그것이 불행하게도 3 가지 옵션 만 제공했음을 보았습니다.이 옵션은 검색해야 할 정보가 부족한 약 1 또는 2 필드입니다. – sneexz

1

이것은 WP_Query에서 필드를 제한하기 위해 수행 한 작업입니다. 특히 json_encode로 설정할 때 그렇습니다. $return 변수에는 $fields 배열에 나열된 필드 만 포함 된 내 게시물 배열이 포함되어 있습니다.

0

필자는 필드 매개 변수를 쿼리에 사용하고이 쿼리에 대한 게시물 가져 오기를 실행합니다. 예를 들어 : 내 경우에는, 난 그냥 여러 종류의 포스트 ID를 얻을 필요, 그래서 나는이 같은 쿼리 생성 :

$posts = $the_query->get_posts(); 

$ :

$the_query = new WP_Query(array( 
         'ignore_sticky_posts' => 1, 
         'posts_per_page'  => -1, 
         'cat'     => '2,6,7' , 
         'fields'    => 'ids', 
         'post_type'   => 'post', 
         'post_status'   => 'publish', 
           ) 
         ); 

이 쿼리에 get_posts 실행을 게시물에는 특정 카테고리 게시물의 ID 만 표시됩니다.

아니면도 have_posts의 루프 실행하여, 즉 표준 및 인기있는 방법과 함께 수행 할 수 있습니다

if ($the_query->have_posts()) { 
     while ($the_query->have_posts()) { 
      $the_query->the_post(); 
      $post_id_array[] = get_the_ID(); 
     }   
    } 

이 서버의 응답을 가속화하고 감소에 도움이되는 두 가지 방법을 검색된 데이터의 양