मेरे पास एक कस्टम पोस्ट प्रकार है जिसे 'एपिसोड' कहा जाता है। 'एपिसोड' से जुड़ी मुझे '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'
),
लेकिन मुझे अभी भी वही परिणाम मिल रहा है।