2012-10-12 19 views
10

मेरा url इस तरह दिखता है: http://domain.com/?s=searchquery&post_type=qa_faqsगलत wp_nav_menu दिखाया गया

कि पेज सूचियों "SEARCHQUERY" के लिए खोज परिणाम।

मैं तो

$post_type = $_GET['post_type']; 

साथ पोस्ट प्रकार मिलता है इसे सही ढंग से गूँज

echo $post_type; 
// Provides: qa_faqs 

मैं तो एक/बाकी wp_nav_menu के माध्यम से एक अलग मेनू प्रदर्शित करने के लिए करता है, तो जब $ post_type qa_faqs है।

if ($post_type == 'qa_faqs') { 
    echo 'we got qa_faqs over here'; 
    wp_nav_menu(array('menu' => 'meta_menu', 'items_wrap' => '<dl id="%1$s" class="nice tabs vertical %2$s">%3$s</dl>', 'walker' => new sidenav_walker)); 
} else { 
    echo 'no qa_faqs in da house'; 
    wp_nav_menu(array('menu' => 'service_menu', 'items_wrap' => '<dl id="%1$s" class="nice tabs vertical %2$s">%3$s</dl>', 'walker' => new sidenav_walker)); 
} 

अब अजीब हिस्सा करने के लिए:

भले ही पेज गूँज 'हम यहाँ पर qa_faqs मिला', यह service_menu प्रदर्शित करता है।

वह क्यों है?

+0

दोनों मेनू तर्क से बाहर ले जाएं और उन्हें बाहर आउटपुट करें, क्या वे वही हैं? – SMacFadyen

+0

वे समान नहीं हैं, इसलिए मैं मेटा_मेनू क्यों दिखाना चाहता हूं अगर $ post_type 'qa_faqs' है और service_menu अगर $ post_type 'qa_faqs' नहीं है। – joko13

+0

मुझे एक ही समस्या है (http://pastebin.com/H0GzFJz2) वे दोनों सामाजिक मेनू आउटपुट करते हैं जब शीर्ष शीर्ष लेख मेनू को आउटपुट करना चाहिए, बहुत अजीब। – Neros

उत्तर

31

यह मिला - http://codex.wordpress.org/Navigation_Menus

एक ही समस्या मुझे पागल रूप में अच्छी तरह चला रहा था।

'मेनू' के बजाय प्रयोग करें 'theme_location' के लिए मेनू जो आप उत्पादन करना चाहते हैं इंगित करने के लिए।

+0

इससे मेरी मदद की, धन्यवाद! क्या आप समझा सकते हैं कि यह क्यों काम करता है? –

+0

यह थोड़ी देर हो गया है, इसलिए मुझे नहीं पता कि मुझे सही तरीके से याद है, लेकिन मुझे लगता है कि 'मेनू' उस मेनू का नाम है जिसका आप उपयोग करना चाहते हैं और 'theme_location' है जहां आप उस मेनू को रखना चाहते हैं – Neros

+0

मैंने भी ठोकर खाई यह समस्या। मुझे लगता है कि वास्तव में इसे हल करने में लगभग 1 घंटा लग गए। +1 – Cyclonecode

0

मैं तुम्हें न meta_menu पर कोई आइटम नहीं हैं लगता है। कृपया उपस्थिति अनुभाग के तहत मेनू बनाएं और इसे असाइन करें। :)

+0

दोनों service_menu और meta_menu बैकएंड में ठीक तरह से स्थापित हैं और अन्य टेम्पलेट फ़ाइलों में अपेक्षित काम कर रहे हैं। – joko13

3

की तरह कुछ के साथ विशिष्ट मेनू लक्ष्यीकरण का प्रयास करें:

<?php wp_nav_menu(array('menu' => 'Your Menu Name')); ?> 
संबंधित मुद्दे