2016-09-14 4 views
0

특정 포트폴리오 카테고리를 제외시킬 수있는 포트폴리오 페이지가있는 테마가 있습니다. 의 체크 표시를 해제합니다. 카테고리 i would like hide. (예 : 영화, 예술)포트폴리오 카테고리를 제외하는 방법

문제는 특정 포트폴리오 항목이 여러 범주에 지정되고 범주가 선택되지 않았지만 여전히 여러 범주에 체크 된 경우 내 테마가 포트폴리오 항목을 표시하지 않는다는 것입니다. .

어떻게 수정해야합니까? 나는 내 함수 파일에서 코드를 찾았지만 확실하지는 않다.

나는 'NOT IN'에서 'IN'으로 연산자를 변경하려고 시도했지만 이것이 모든 cetegories를 보여줍니다. 어떤 도움이라도 대단히 감사하겠습니다!

if (isset($cat) && $cat!=-1) { 
     //include a category 
     $query_args['tax_query'] = array(
      array(
       'taxonomy' => PEXETO_PORTFOLIO_TAXONOMY, 
       'field' => 'slug', 
       'terms' => $cat 
      ) 
     ); 
    } 
    if (!empty($excludeCats)) { 
     if (!isset($query_args['tax_query'])) { 
      $query_args['tax_query'] = array(); 
     } 
     //exclude categories 
     $query_args['tax_query'][]= array(
      'taxonomy' => PEXETO_PORTFOLIO_TAXONOMY, 
      'field' => 'id', 
      'terms' => $excludeCats, 
      'operator' => 'NOT IN' 
     ); 
    } 

답변

0

이 문제는 포트폴리오 아카이브에서 발생한다고 가정합니다. 이 경우 해결 방법으로 모든 보이는 범주를 가져 와서 tax_query에 추가하는 것이 좋습니다.

if(! empty($excludeCats)) { 
    $visibleCats = array_diff($allCats, $excludeCats); 
} 
if (!empty($excludeCats)) { 
    if (!isset($query_args['tax_query'])) { 
     $query_args['tax_query'] = array(); 
    } 
    //exclude categories 
    $query_args['tax_query'][]= array(
     'taxonomy' => PEXETO_PORTFOLIO_TAXONOMY, 
     'field' => 'id', 
     'terms' => $visibleCats, 
     'operator' => 'IN' 
    ); 
} 
+0

안녕하세요. 조사해 주셔서 감사합니다. 불행히도, 이것은 나를 위해 문제를 해결하지 않았다. 이 쿼리는 내 함수 파일의 다른 곳에서는 나타나지 않기 때문에 문제는 $ allCats 쿼리에 있다고 생각합니다. 다른 제안은 없었습니까? 감사합니다! – Sam

관련 문제