2012-09-11 13 views
7

मेरे विषय में नव मेनूवर्डप्रेस। wp_nav_menu में मैन्युअल रूप से मेनू आइटम जोड़ना

function ct_nav() { 
    <nav> 
    <?php wp_nav_menu(array('container_id' => 'nav', 'theme_location' => 'primary')); ?> 
    </nav> 
} 

के लिए एक समारोह कैसे मैं अधिक आइटम मैन्युअल रूप से जोड़ सकता है? अकेले इस समारोह का उपयोग कर।

+0

फ़ंक्शन कॉल के बाद आप खुद को मार्कअप क्यों नहीं जोड़ते? –

+0

हाँ, मुझे समझ में नहीं आता कि आपका क्या मतलब है, आप ऊपर दिए गए मार्कअप के भीतर मैन्युअल रूप से आइटम जोड़ सकते हैं? आप वास्तव में क्या जोड़ने की कोशिश कर रहे हैं? – csilk

उत्तर

2

बस के लिए मामला किसी की जरूरत है इस:

मेनू आइटम को लागू करने के फिल्टर से मैन्युअल रूप से जोड़ा जा सकता है:

  • wp_nav_menu_items - विशेष रूप से स्लग
साथ मेनू के लिए - सभी मेनू
  • wp_nav_menu_{$menu->slug}_items के लिए

    items_wrap को बदलकर, उदाहरण के लिए, <ul> को हटाकर और इसे स्पष्ट रूप से जोड़कर थीम - इस तरह आप अपने आइटम जोड़ सकेंगे।

  • +0

    इसके लिए मेनू_लोकेशन को पहले ही असाइन करने के लिए एक मेनू की आवश्यकता है। मेनू को असाइन किए बिना (ऐसा करने के लिए> मेनू में) ऐसा करने का कोई तरीका है। यह बहुआयामी काम के लिए सहायक होगा जो मैं कर रहा हूं। – raison

    17

    यहां आइटम्स_व्रैप को बदलकर एक उदाहरण है।

    wp_nav_menu(array('items_wrap' => '<ul id="%1$s" class="%2$s"><li><a href="http://www.google.com">go to google</a></li>%3$s</ul>')); 
    

    बस डिफ़ॉल्ट मान लिया और href जोड़ा।

    7
    function add_last_nav_item($items) { 
        return $items .= '<li><a href="#myModal" role="button" data-toggle="modal">Contact</a></li>'; 
    } 
    add_filter('wp_nav_menu_items','add_last_nav_item'); 
    
    +0

    यह निश्चित रूप से सबसे अच्छा समाधान है। –

    +0

    धन्यवाद @ जेसनग्लिसन –

    1

    उपर्युक्त उत्तरों में से कोई भी मेरे लिए काम नहीं करता है। यह एक jquery प्रकार का कामकाज है जिसका मैंने उपयोग किया था। मुझे अपने मेनू के अंत में एक छवि जोड़ने की जरूरत थी।

    सामान्य रूप से wp_nav_menu() का उपयोग करें, मेनू_क्लास में कक्षा निर्दिष्ट करना सुनिश्चित करें या आप एक आईडी निर्दिष्ट कर सकते हैं।

    $items = array(
        'theme_location' => 'header-menu', 
        'menu'   => '', 
        'container'  => 'div', 
        'container_class' => 'menu-{menu slug}-container', 
        'container_id' => '', 
        'menu_class'  => 'menuContainer', /* important, since we're targetting it with jquery*/ 
        'menu_id'   => '', 
        'echo'   => true, 
        'fallback_cb'  => 'wp_page_menu', 
        'before'   => '', 
        'after'   => '', 
        'link_before'  => '', 
        'link_after'  => '', 
        'depth'   => 0, 
        'walker'   => '' 
    ); 
    wp_nav_menu($items); 
    
    $(document).ready(function() { 
          $(".menuContainer ul").append("<li><img src='<?php echo get_template_directory_uri(); ?>/img/menuImage.png'></li>"); 
         }); 
    
    संबंधित मुद्दे