डेटाबेस में वर्डप्रेस डिफ़ॉल्ट मेनू


19

मेरे वर्डप्रेस (3.5) में अभी 3 मेन्यू हैं।

  • मुख्य मेनू (wp से डिफ़ॉल्ट)
  • पाद मेनू (wp से डिफ़ॉल्ट)
  • टेस्ट मेनू

अब मैंने परीक्षण मेनू को डिफ़ॉल्ट के रूप में रखा है।

Wordpress इस चीज़ को कहाँ संग्रहीत करता है?

मैं जानना चाहता हूं कि वर्डप्रेस वर्तमान मेनू के बारे में कहां संग्रहीत करता है जो सामने के अंत में प्रदर्शित हो रहा है।

जवाबों:


47

WP में मेनू अपने आप में एक वर्गीकरण है। इसका मतलब है कि आप wp_termsनिम्न क्वेरी चलाकर तालिका के सभी मेनू पा सकते हैं :

SELECT * 
  FROM wp_terms AS t
  LEFT JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id
 WHERE tt.taxonomy = 'nav_menu';

मेनू आइटम WP में कस्टम पोस्ट प्रकार है। उन्हें wp_postsतालिका में संग्रहीत किया जाता है । आप इस क्वेरी का उपयोग करके उन सभी को पा सकते हैं:

SELECT * 
  FROM wp_posts 
 WHERE post_type = 'nav_menu_item';

मेनू और मेनू आइटम के बीच संबंध wp_term_relationshipsतालिका में संग्रहीत किए जाते हैं । विशिष्ट मेनू के सभी आइटम खोजने के लिए आप इस क्वेरी का उपयोग कर सकते हैं:

SELECT p.* 
  FROM wp_posts AS p 
  LEFT JOIN wp_term_relationships AS tr ON tr.object_id = p.ID
  LEFT JOIN wp_term_taxonomy AS tt ON tt.term_taxonomy_id = tr.term_taxonomy_id
 WHERE p.post_type = 'nav_menu_item'
   AND tt.term_id = /*your menu ID*/;

वर्तमान में चयनित मेनू के बारे में जानकारी wp_optionsतालिका में क्रमबद्ध PHP सरणी के रूप में स्थित है । उदाहरण के लिए, यदि हम ट्वेंटीलेवेन थीम का उपयोग करते हैं, तो हमारे पास स्तंभ के बराबर स्तंभ और स्तंभ के बराबर wp_optionsतालिका में एक रिकॉर्ड होगा । यहाँ आप देख सकते हैं कि 103 के बराबर मेनू वर्तमान में मेनू के रूप में चुना गया है ।option_nametheme_mod_twentyelevenoption_value...;s:18:"nav_menu_locations";a:1:{s:7:"primary";i:103;}}term_id"primary"

यहां मुख्य सिद्धांत यह है कि हमारे पास हमेशा प्रत्येक WP थीम के लिए अलग-अलग विकल्प रिकॉर्ड होते हैं। इस तरह के विकल्पों में समान नाम संरचना होती है theme_mods_{your-theme-name}:।

पुनश्च: व्यवस्थापक पैनल में वर्तमान मेनू को बदलने के लिए, बस Appearance» Menusपृष्ठ पर जाएं और मेनू का चयन करें जिसकी आपको Theme Locationsमेटा बॉक्स में आवश्यकता है :

यहाँ छवि विवरण दर्ज करें


आपके उत्तर के लिए धन्यवाद, लेकिन मैं यह जानना चाहता हूं कि यह उस मेनू को कहाँ संग्रहीत करता है जो डिफ़ॉल्ट है (आगे के छोर को दिखाते हुए)।
हिरेन राठौड़

@ हिरेनरथोड मैंने अपना जवाब अपडेट किया है
यूजीन मनुइलोव

हां, मुझे जवाब मिल गया। मैं हाइपरशॉट थीम का उपयोग कर रहा हूं और टेस्ट मेनू के रूप में प्राइमरी मेनू रखा है। यह इस तरह से संग्रहीत करता है: a: 2: {i: 0; b: 0; s: 18: "nav_menu_ococations"; a: 2: {s: 11: "हैडर-मेनू"; मैं: 27; s: 11: पाद -मेनू "; मैं: 0;}} यहां i: 27 का अर्थ है wp_terms से 27 शब्द। धन्यवाद @ यूजीन-मनुइलोव :)
हिरेन राठौड़

आप किसी दिए गए मेनू आइटम (पृष्ठ / पोस्ट / लिंक) का चयन कैसे करेंगे term_id?
Xeoncross
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.