2014-12-12 5 views
0

사용자 정의 포스트 유형을 나열하는 사용자 정의 WP 쿼리가 있습니다. 맞춤 분류로 목록을 필터링하는 필터를 설정하려고합니다.작동하도록 tax_query를 가져올 수 없습니다.

내 쿼리 설정은 다음과 같습니다 :

// WP_Query arguments 
$args = array (
    'post_type'    => 'opps', 
    'post_status'   => 'publish', 
    'pagination'    => true, 
    'posts_per_page'   => $postsperpage, 
    'posts_per_archive_page' => $postsperpage, 
    'ignore_sticky_posts' => true, 
    'order'     => 'DESC', 
    'orderby'    => 'date', 
    'cache_results'   => true, 
    'update_post_meta_cache' => true, 
    'update_post_term_cache' => true, 
    'paged'     => $paged, 
    'tax_query'    => array(
            array(
             'taxonomy' => 'sector', 
             'field' => 'slug', 
             'terms' => 'business-services' 
            ), 
           ) 
); 

그래서 위의 예에서 나는 슬러그 '비즈니스 서비스'로 분류 '부문'만 게시물을 받아야하지만, 사용자 정의 포스트 유형 'OPPS의 모든 게시물 '대신 나열됩니다.

나는 stackoverflow와 그 너머에있는 모든 곳을 보았지만, 내가 잘못한 것을 알아낼 수는 없습니다.

답변

0

코드가 정상적으로 보입니다.

wordpress가 초기화 단계에서 늦게까지 분류법 용어를 동기화하지 않기 때문에 이전에이 문제가있었습니다. get_header() 또는 wp_head()를 호출 한 후이 코드를 템플릿에서 실행 해 보았습니까? 그렇게하지 않으면 작동 할 것입니다. 테스트를 위해 functions.php에서 단어를 반복해서 출력했는지는 알지 못합니다. 워드 프레스가 아직 세금 조건을 동기화하지 않았기 때문에 작동하지 않습니다.

0

사용자 지정 쿼리를 만들 때 실제로 the codex (WP_Query)을 봐야합니다. 코드가 의미하는대로 실패합니다. 다음과 같은 문제가

  • paginationWP_Query에 대한 유효한 매개 변수 아니다 있습니다.

  • 당신은 사용할 수 없습니다 posts_per_pageposts_per_archive_page 함께

  • 당신은 기본적으로 설정되는 매개 변수 값을 설정할 필요가 없습니다. 기본적으로 당신의 코드에 사용 불필요한 매개 변수의 기본 값은 사용자 정의 포스트 유형에 대한 끈끈한 포스트 기능이 없습니다 order, orderby, post_status, cache_results, update_post_meta_cacheupdate_post_term_cache

있습니다. 단지 ignore_sticky_post 매개 변수를 제거

같은 것을 보여야 코드 (나는 당신의 변수 희망이 정의)

// WP_Query arguments 
$args = array (
    'post_type'    => 'opps', 
    'posts_per_page'   => $postsperpage, 
    'paged'     => $paged, 
    'tax_query'    => array(
     array(
      'taxonomy' => 'sector', 
      'field' => 'slug', 
      'terms' => 'business-services' 
     ), 
    ) 
); 
관련 문제