Wp_nav_menu के आउटपुट से रैपिंग डि और उल निकालें


17

मैं Wordpress के नए मेनू सिस्टम का उपयोग कर रहा हूँ, और यहाँ wp_nav_menu () का परिणाम है

    <div class="menu-main-menu-container">
   <ul id="menu-main-menu" class="menu">
   <li id="menu-item-28" class="menu-item menu-item-type-post_type current-menu-item page_item page-item-21 current_page_item menu-item-28"><a href="http://www.bemang.com/">Trang nhà</a></li>
    <li id="menu-item-29" class="menu-item menu-item-type-post_type menu-item-29"><a href="http://www.bemang.com/blog/">Blog</a></li>
    <li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-30"><a href="http://www.bemang.com/gioi-thieu/">Giới thiệu</a></li>
    </ul>
   </div>

मैं केवल यही चाहता हूं:

<li id="menu-item-28" class="menu-item menu-item-type-post_type current-menu-item page_item page-item-21 current_page_item menu-item-28"><a href="http://www.bemang.com/">Trang nhà</a></li>
   <li id="menu-item-29" class="menu-item menu-item-type-post_type menu-item-29"><a href="http://www.bemang.com/blog/">Blog</a></li>
   <li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-30"><a href="http://www.bemang.com/gioi-thieu/">Giới thiệu</a></li>

नहीं, रैपिंग डिव या उल, मैं कुछ तरीकों और Google के आसपास कोशिश कर रहा हूं लेकिन कोई परिणाम नहीं :(

जवाबों:


28

रैपिंग डिव आसान है। जब आप उपयोग करते हैं wp_nav_menu(), तो इस तर्क को जोड़ें:'container' => false

के लिए <ul>तत्व, वहाँ एक तर्क कहा जाता है 'items_wrap'। उस एक के बारे में अधिक जानकारी के लिए वुडच्यूकी का उत्तर देखें (और इसे अपवोट करें!)।


दोस्त बहुत - बहुत धन्यवाद! यह अब काम करता है। मैं PHP से परिचित नहीं था और यह नहीं जानता था कि मुझे add_filter को functions.php में डालना है।

1
यह अभी भी नहीं समझाता है कि डिव को कैसे हटाया जाए, जो कि ऊपर वर्णित wra_class को लपेटता है। कंटेनर तर्क गलत पर सेट काम नहीं करता है।
सर्जियो

2
यदि containerतर्क काम नहीं करता है, तो इसका मतलब है कि आप उपयोग नहीं कर रहे हैं wp_nav_menu। आप शायद फालबैक cb चला रहे हैं, जो डिफॉल्ट करता है wp_page_menu(), या तो एक मेनू या निर्दिष्ट मेनू के साथ मेनू स्थान निर्दिष्ट करने में विफल रहा है।
जॉन पी बलोच

30

wp_nav_menu() एक अनिर्दिष्ट पैरामीटर को स्वीकार करता है

'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul> '

इसके द्वारा निष्पादित किया जाता है: $nav_menu .= sprintf( $args->items_wrap, esc_attr( $wrap_id ), esc_attr( $wrap_class ), $items );

आप स्प्रिंटफ तर्कों के साथ खेल सकते हैं

ex: 'items_wrap' => '% 3 $ s' रैपिंग <ul>टैग को हटा देगा


हे, शांत! और WPSE @woodchucky में आपका स्वागत है!
FUXIA

5

केवल ली के आउटपुट के लिए इसे wp_nav_menu सरणी में जोड़ें:

'container'      => '',
'items_wrap'    => '%3$s',

2

'container' => falseमेरे लिए असफल हो रहा था क्योंकि मैं एक नहीं मौजूदा 'theme_location'और निर्दिष्ट कर रहा था 'menu'। यह तय होते ही मैंने काम किया।

से समाधान: wordpress.org/support


0

रैपिंग डिव को फ़िल्टर करने के लिए:

add_filter('wp_nav_menu_args', 'prefix_nav_menu_args');
function prefix_nav_menu_args($args = ''){
    $args['container'] = false;
    return $args;
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.