“tax_query”매개 변수가 WP_Query와 작동하지 않습니다


17

'episode'라는 맞춤 게시물 유형이 있습니다. 'episode'에 첨부 된 'bono-footage'와 'episode'라는 두 가지 용어를 포함하는 'video_type'이라는 사용자 지정 분류법이 있습니다. "episode"에는 "season-1"과 "season-2"라는 두 개의 하위 용어가 포함됩니다 (다른 계절은 추후에 추가 될 예정 임). 'episode'유형의 최신 게시물 만 가져오고 싶지만 'bono-footage'용어의 게시물은 포함하고 싶지 않습니다. 아래는 이것을 위해 사용중인 코드입니다.

<?php
$some_args = array(
    'tax_query' => array(
        'taxonomy' => 'video_type',
        'terms' => 'bonus-footage',
        'field' => 'slug',
        'include_children' => true,
        'operator' => 'NOT IN'
     ),
    'posts_per_page' => 1,
    'post_type' => 'episode',
);

$s = new WP_Query( $some_args );

if ( $s->have_posts() ) : $s->the_post();
    // Do something with this post.
endif;
?>

'시즌'용어 중 하나의 게시물이 최신 인 경우 쿼리가 예상대로 작동하지만 "보너스-발자국"의 게시물이 최신 인 경우 해당 게시물을로드합니다. 즉, "tax_query"매개 변수는 쿼리에 영향을 미치지 않는 것으로 보입니다. "tax_query"를 올바르게 포맷하지 않았거나 다른 것을 놓치고 있습니까?

또한 다음과 같이 "tax_query"설정을 시도했습니다.

'tax_query' => array(
        'taxonomy' => 'video_type',
        'terms' => 'episode',
        'field' => 'slug',
    'include_children' => true,
        'operator' => 'IN'
),

그러나 나는 여전히 같은 결과를 얻고 있습니다.

답변:


42

tax_query매개 변수는있다 배열의 배열 이 아니라 배열.

이:

'tax_query' => array(
        'taxonomy' => 'video_type',
        'terms' => 'episode',
        'field' => 'slug',
        'include_children' => true,
        'operator' => 'IN'
),

대신 이것이어야합니다 :

'tax_query' => array(
    array(
        'taxonomy' => 'video_type',
        'terms' => 'episode',
        'field' => 'slug',
        'include_children' => true,
        'operator' => 'IN'
    )
),

1
고마워 칩. Wordpress가 왜 이런 식으로 지어 진지 궁금합니다.
Josh Farneman

3
부울을 사용하여 여러 세금 조회를 수행 할 수 있습니다. " 다중 분류 처리 "섹션 의 링크 된 코덱스 항목을 참조하십시오 .
Chip Bennett

1
나를 위해 매력처럼 일했다! 고마워요,이 벽에 머리를 내 밀었습니다!
Charles Blackwell

이것을 URL 매개 변수로 변환하고 실제로 WP_Query에서 사용하는 방법을 알 수없는 것 같습니다. 계속 무시됩니다.
realgeek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.