WP_Query के साथ काम नहीं कर रहा है "tax_query" पैरामीटर


18

मेरे पास एक कस्टम पोस्ट प्रकार है जिसे 'एपिसोड' कहा जाता है। 'एपिसोड' से जुड़ी मुझे 'video_type' नामक एक कस्टम टैक्सोनॉमी है जिसमें दो शब्द हैं: "बोनस-फुटेज" और "एपिसोड"; "एपिसोड" में दो बाल शब्द "सीज़न -1" और "सीज़न -2" शामिल हैं (भविष्य में अन्य सीज़न जोड़े जाएंगे)। मैं 'एपिसोड' प्रकार के केवल सबसे हाल के पोस्ट को हथियाना चाहता हूं, लेकिन 'बोनस-फुटेज' शब्द के किसी भी पोस्ट को शामिल नहीं करता। नीचे वह कोड है जो मैं इसके लिए उपयोग कर रहा हूं:

<?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'
),

लेकिन मुझे अभी भी वही परिणाम मिल रहा है।

जवाबों:


44

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 ने इसे इस तरह क्यों बनाया है?
जोश फरमान

3
ताकि बूलियन का उपयोग करके कई कर प्रश्नों का निष्पादन किया जा सके। " मल्टीपल टैक्सोनॉमी हैंडलिंग " सेक्शन के तहत लिंक कोडेक्स प्रविष्टि देखें ।
चिप बेनेट

1
मेरे लिए एक जादू की तरह काम किया! धन्यवाद आदमी, मैं इस एक पर दीवार से अपना सिर पीट रहा था!
चार्ल्स ब्लैकवेल

मुझे यह पता नहीं लग सकता है कि इसे एक यूआरएल पैरामीटर में कैसे अनुवाद किया जाए और इसका वास्तव में WP_Query द्वारा उपयोग किया जाए। यह सिर्फ नजरअंदाज करता रहता है।
realgeek
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.