루프에서 사용자 정의 분류 체계에서 모든 게시물을 제외하는 간단하거나 쉬운 방법이 있습니까? 나는 높고 낮게 보았고 SE, SO 또는 Google은 정답을 보이지 않는 것 같습니다.
WPDB 쿼리를 통해 수행 할 수 있다는 것을 알고 있지만 상당히 단순 해야하는 것을 뛰어 넘을 수있는 거대한 밧줄처럼 보입니다.
루프에서 사용자 정의 분류 체계에서 모든 게시물을 제외하는 간단하거나 쉬운 방법이 있습니까? 나는 높고 낮게 보았고 SE, SO 또는 Google은 정답을 보이지 않는 것 같습니다.
WPDB 쿼리를 통해 수행 할 수 있다는 것을 알고 있지만 상당히 단순 해야하는 것을 뛰어 넘을 수있는 거대한 밧줄처럼 보입니다.
답변:
NOT EXISTS
연산자를 분류 체계 슬러그 전달과 함께 사용 하여 루프 내에서 사용자 정의 분류 체계에서 선택한 범주를 포함하지 않도록 쿼리에 지시합니다.
분류법 "과일"(과일 종류에 관계없이)에있는 모든 게시물을 제외하려면 스 니펫이 있습니다.
$args = array(
'post_type' => 'post',
'tax_query' => array(
array(
'taxonomy' => 'fruit',
'operator' => 'NOT EXISTS'
)
)
);
$query = new WP_Query( $args );
NOT IN
XX number of을 말하는 것보다 더 효율적인 것 같습니다 terms
. 이 용어 목록은 크게 커질 수 있지만,이 용어는 해당 분류법 이름으로 모든 용어를 포함해야합니다.
이것에 대한 해결책은 실제로 그렇게 공개 된 것은 아니지만 그래야합니다.
다음을 수행 할 수 있습니다.
$args['tax_query'] = array(
array(
'taxonomy' => 'category',
'terms' => array('cat', 'dog'),
'field' => 'slug',
'operator' => 'NOT IN',
),
);
query_posts($args);
연산자 인수는 다른 용어를 사용할 수 있지만 위 코드는 기본적으로 'cat'또는 'dog'이라는 용어가없는 분류법 '카테고리'에서 모든 게시물을 가져옵니다.
다음은 맞춤 게시물 유형 및 맞춤 분류법에 대해 수행하는 방법입니다.
$happening = new WP_Query(
array(
'post_type' => 'news', // only query News post type
'tax_query' => array(
array(
'taxonomy' => 'news-cat',
'field' => 'slug',
'terms' => 'media', // exclude items media items in the news-cat custom taxonomy
'operator' => 'NOT IN')
),
)
);
이것은 사용자 정의 게시물 유형에서 사용자 정의 분류를 제외하는 데 완벽하게 작동했습니다. 스 니펫을 끝내기 위해 쿼리 루프 코드를 추가하려고합니다. while ($ the_query-> have_posts ()) : $ the_query-> the_post ();
특정 분류 용어에서 게시물을 제외하기 위해 다음을 수행했습니다.
$argos = array(
'tax_query' => array (
array(
'taxonomy' => 'topics', // My Custom Taxonomy
'terms' => 'college', // My Taxonomy Term that I wanted to exclude
'field' => 'slug', // Whether I am passing term Slug or term ID
'operator' => 'NOT IN', // Selection operator - use IN to include, NOT IN to exclude
),
),
'post_type'=>'page', // Post type I want to show, can be a custom post type too
'posts_per_page' => -1,
'orderby' => 'title',
'order'=>'ASC',
'post_parent' =>$post->ID // show child posts or pages of current page/post
);
$query = new WP_Query( $args );
query_posts( array(
'post_type' => 'listings',
'tax_query' => array(
array(
'taxonomy' => 'status',
'field' => 'slug',
'terms' => 'sold',
'operator' => 'NOT IN'
),
)
)
);
이 코드는 post_type => 리스팅에서 판매 된 상태 =>를 제외합니다.
나는 잘 작동하는 것처럼 보이는 "RYO 'Category Visibility'WordPress Plugin"을 사용합니다.
관리자 페이지에서 다양한 영역에서 표시되거나 제외되는 범주를 결정할 수 있습니다.
http://ryowebsite.com/wp-plugins/category-visibility/
-아담