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_name
theme_mod_twentyeleven
option_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
मेटा बॉक्स में आवश्यकता है :