मैं केवल कुछ पृष्ठों पर मेनू कैसे प्रदर्शित कर सकता हूं?


10

साइडबार विजेट्स का उपयोग करने के बजाय यह बताने के लिए कि उन्हें किस पृष्ठ पर दिखाई देना चाहिए, मुझे विशिष्ट पृष्ठों पर प्रदर्शित होने के लिए मेनू सेटिंग्स चुनना पसंद है।

डिफ़ॉल्ट वर्डप्रेस तरीका:

यह डिफ़ॉल्ट कैसे दिखता है

इसलिए परियोजनाएं एक पृष्ठ है और इसमें कुछ उपपृष्ठ हैं। लेकिन क्या होगा अगर मुझे इन पृष्ठों में से 10 से अधिक पसंद हैं और एक ही स्थिति के साथ उप-पृष्ठ हैं।

मैं एक अतिरिक्त सेटिंग (शीर्ष स्तर के पृष्ठों की सूची) जोड़ना चाहूंगा:

जहां मुझे सेटिंग चाहिए

लेकिन इन सेटिंग्स के लोड होने पर मुझे कोई डॉक्यूमेंटेशन, एक्शन, फिल्टर आदि नहीं मिल सकते हैं।


मुझे लगता है कि यह आपके विषय पर निर्भर करता है। लेकिन एक शुरुआती बिंदु के रूप में codex.wordpress.org/Navigation_Menus को मदद करनी चाहिए !!
श्री

1
मैंने देखा कि लिंक को बहुत बार, मेनू में सेटिंग्स जोड़ने के बारे में कोई जानकारी नहीं है। केवल कस्टम मेनू बनाएं और प्रदर्शित करें ...

आउच। मुझे लगता है कि यह एक देशी जूमला विकल्प है, जाहिरा तौर पर वर्डप्रेस में नहीं। आपकी साइट के लिए, आप कस्टम आउटपुट श्रेणी / Pages.php फ़ाइलें बना सकते हैं और फिर वहां एक अद्वितीय कस्टम मेनू जोड़ सकते हैं लेकिन यह गर्दन में कुल दर्द है। आपके पास उपरोक्त चयन के लिए चार आउटपुट .php पृष्ठ और चार अद्वितीय मेनू होंगे। लागू करने का एक आसान तरीका साइडबार विजेट को अपने प्राथमिक नेविगेशन टूल के रूप में उपयोग करना है। कस्टम मेनू विजेट उपकरण बहुत सरल है। प्रत्येक पृष्ठ के लिए एक मेनू बनाएं, यह मानते हुए कि आपके पास प्रत्येक के लिए अद्वितीय टेम्पलेट हैं। ध्यान दें, साइडबार सबसे अच्छा शब्द नहीं है। आप कहीं भी विजेट लगा सकते हैं।
zipzit

मैं साइडबार और विगेट्स से अवगत हूं। ये छोटे वेबसाइट भाग जो एक पृष्ठ से भी जुड़े नहीं हैं। मैं साइडबार और विजेट का उपयोग नहीं करना चाहता हूं और उन्हें अक्षम कर दिया है क्योंकि मैं उनमें से किसी का भी उपयोग नहीं करता हूं। वैसे भी, मुझे लगता है कि मेनू स्थान मेनू की सेटिंग हैं, न कि विजेट की सेटिंग जिसमें मेनू होता है।

क्या आपका सवाल सिर्फ "मैं कस्टम मेनू सेटिंग्स कैसे जोड़ूं?" या यह भी है कि "मैं केवल कुछ पृष्ठों पर मेनू प्रदर्शित करने के लिए कस्टम मेनू सेटिंग्स का उपयोग कैसे करूं?"
संलग्न

जवाबों:


3

यह एक अच्छा विकल्प है, लेकिन मैं श्री से सहमत हूं, अभी यह वास्तव में आपके विषय पर निर्भर करता है। आप is_page () के माध्यम से एक काम कर सकते हैं । आपको अपने page.php थीम फ़ाइल पर कुछ इस तरह लिखना होगा :

<?php
    if (is_page('projects')) {
        if ( is_active_sidebar( 'sidebar-navigation' )) {
            dynamic_sidebar( 'sidebar-navigation' );
        }
    }
?>

यदि आप अन्य पृष्ठों पर साइडबार दिखाना चाहते हैं, तो आप तर्क का उपयोग कर सकते हैं या इस तरह से कर सकते हैं :

if (is_page('projects') || is_page('home') || is_page('post-page'))

मुझे बेहतर समाधान की जानकारी नहीं है, लेकिन कोडिंग की दुनिया में यह वास्तव में बुरा व्यवहार है। मुझे लगता है कि एक सरणी या कुछ और फिर मेनू स्वैप प्रदर्शन के माध्यम से बहुत कम से कम लूप पर। हालांकि उत्तर की निश्चित रूप से सराहना करते हैं। उच्छ्वास
6

1

मुझे लगता है कि इसके लिए एक प्लगइन का उपयोग करना बेहतर है, इसलिए आप भविष्य में थीम बदलने पर भी कार्यक्षमता रख सकते हैं। इस प्लगइन की जाँच करें। यह वही करता है जो आप चाहते हैं, लेकिन इससे थोड़ा अलग है कि आपने इसका मजाक उड़ाया।

https://wordpress.org/plugins/page-specific-menu-items/

यदि इससे मदद मिलती है, तो कृपया वोट करें या उत्तर के रूप में स्वीकार करें। धन्यवाद!


मैंने इस प्लगइन की कोशिश की है। इस प्लगइन के साथ, आप केवल एक विशिष्ट पोस्ट प्रकार के लिए एक मेनू का चयन कर सकते हैं। मैं प्रत्येक पृष्ठ के लिए मेनू का चयन करना चाहता हूं।

यदि आपके पास साइट पर केवल एक मेनू है, और आप केवल उस मेनू में कुछ लिंक छिपाना चाहते हैं जब कोई उपयोगकर्ता किसी निश्चित पृष्ठ पर होता है, तो यह प्लगइन ऐसा करता है। आपके द्वारा पोस्ट प्रकार का चयन करने के बाद, आप मेनू को चाहते हैं (पृष्ठ वह है जो आप चाहते हैं, या अधिक) फिर एक पृष्ठ संपादित करने के लिए जाएं, और आप उन लिंक की जांच कर सकते हैं जिन्हें आप छिपाना चाहते हैं। यह दूसरा इसके विपरीत करता है। आप संपादन पृष्ठ स्क्रीन पर
मेटाबेस

1

यह है कि आप इसे बारह बारह विषयों में कैसे कर सकते हैं शीर्ष लेख।

<?php if ( is_page('projects') ) : ?>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu' => 'conditional-menu-name', 'menu_class' => 'nav-menu' ) ); ?>
<?php else : ?>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu' => 'Primary', 'menu_class' => 'nav-menu' ) ); ?>
<?php endif; ?>

उन आइटमों के साथ एक नया मेनू बनाएं जिन्हें आप दिखाना चाहते हैं और अपने मेनू के नाम के साथ उपरोक्त कोड में सशर्त-मेनू-नाम को स्वैप करें।

menu_class नाम को ट्वेंटी बारह के अलावा अन्य विषयों के लिए बदलने की आवश्यकता हो सकती है।

स्रोत


1

मुझे पता है कि यह धागा पुराना है, लेकिन यदि किसी को इसके लिए उत्तर की तलाश करनी होगी, तो मैं https://themify.me/conditional-menus से सशर्त मेनू सुझाना चाहूंगा । आप किस मेनू का उपयोग करना चाहते हैं, प्रति पृष्ठ, श्रेणी, मेटा, सब कुछ। और यह मुफ़्त है :) उम्मीद है कि यह मदद करता है


0

यदि आप अपने विजेट को फिर से संलग्न करने के लिए तैयार हैं और एक सरल समाधान चाहते हैं, तो आप प्रदर्शन विजेट नामक एक प्लगइन का उपयोग कर सकते हैं। मैंने इसका उपयोग किया है और पाठ भाग का उपयोग करें जहां आप लिंक को जोड़ सकते हैं जहां आप जाना चाहते हैं। यह काम करता है कि लिंक आप की साइट पर हैं या किसी अन्य साइट पर। इसमें पाठ के नीचे एक स्थान होता है जहाँ आप चुन सकते हैं कि कौन से पृष्ठ दिखाना या छिपाना है। आप अभी भी उन विगेट्स को हटा सकते हैं जिनका आप उपयोग नहीं करते हैं।

मैंने मेन्यू के साथ काफी देर तक खेला और इससे पहले कि मैंने इस प्लगइन को खोजा। यह अच्छा काम करता है।

आप इसे WordPress.org के प्लगइन्स सेक्शन में पा सकते हैं।


आपका बहुत बहुत धन्यवाद! लेकिन मैं एक अतिरिक्त प्लगइन की तलाश नहीं कर रहा हूं। और मैं इन फ़्लोटिंग वेबसाइट भागों का उपयोग नहीं करता, क्योंकि मेरे कुछ ग्राहकों के लिए समझना मुश्किल है।

0

एक विकल्प यह होगा कि आपके पास प्रत्येक मेनू के लिए कस्टम टेम्पलेट हों। (यह थीम स्थानों को संदर्भित करता है चेक बॉक्स) फिर हर पृष्ठ पर, आप उस टेम्पलेट को चुनते हैं जिसे आप इसका उपयोग करना चाहते हैं और यह उस टेम्पलेट से जुड़े मेनू का भी उपयोग करेगा।

https://codex.wordpress.org/Page_Templates

यह आपको वही परिणाम देता है जो मुझे लगता है कि आप खोज रहे हैं, लेकिन प्रत्येक मेनू को यह बताने के बजाय कि वह किस पृष्ठ पर दिखाई देता है, आप प्रत्येक पृष्ठ को बताएंगे कि कौन सा मेनू उस पर दिखाई देगा। इस तरह से करने का एक अतिरिक्त लाभ यह है कि आपके पास गलती से दो मेनू एक ही समय में एक ही स्थान पर होने का कोई रास्ता नहीं है।


हां, मैंने इस पर गौर किया है। लेकिन डेवलपर को कभी नहीं पता होता है कि उपयोगकर्ता को कितने मेनू की आवश्यकता है। इसलिए मुझे उन सभी को कवर करने के लिए बहुत सारे टेम्पलेट बनाने होंगे। template_a.php, template_b.php, template_c.phpआदि

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