वर्डप्रेस डेटाबेस


WordPress आपके वेबसाइट पर बनाए गए सभी कंटेंट को स्टोर, प्राप्त और प्रदर्शित करने के लिए डेटाबेस का उपयोग करता है। इसमें पोस्ट, पेज, टिप्पणियाँ और बहुत कुछ शामिल हैं।

डेटाबेस का उपयोग आपकी वेबसाइट के उपयोगकर्ताओं से संबंधित जानकारी और आपकी साइट को संचालित करने वाले विभिन्न साइट विकल्पों को स्टोर करने के लिए भी किया जाता है।

जैसा कि आपने वेब सर्वर वाले पाठ में सीखा, WordPress MySQL का उपयोग करता है। MySQL एक निःशुल्क, ओपन-सोर्स डेटाबेस प्रबंधन प्रणाली है, जिसका उपयोग कई लोकप्रिय वेब एप्लिकेशन करते हैं।

अपने WordPress डेटाबेस के साथ इंटरैक्ट करना

अपने WordPress डेटाबेस के साथ सीधे इंटरैक्ट करने के कुछ तरीके हैं।

अधिकांश लोकल डेवलपमेंट एनवायरनमेंट या होस्टिंग कंपनियाँ phpMyAdmin नामक एक निःशुल्क टूल का उपयोग करती हैं। phpMyAdmin एक वेब-आधारित टूल है, जो आपको वेब ब्राउज़र का उपयोग करके अपने WordPress डेटाबेस के साथ इंटरैक्ट करने की सुविधा देता है।

phpMyAdmin का एक विकल्प Adminer नामक टूल है। Adminer एक ऐसी PHP फ़ाइल है, जिसे आप अपनी वेबसाइट पर अपलोड कर सकते हैं और यह phpMyAdmin के समान इंटरफ़ेस प्रदान करती है। कुछ होस्टिंग कंपनियाँ और लोकल डेवलपमेंट एनवायरनमेंट phpMyAdmin के बजाय Adminer का उपयोग करना पसंद करते हैं।

अंत में, यदि आपके पास इनमें से किसी का भी एक्सेस नहीं है, तो आप SQL Buddy नामक प्लगइन भी इंस्टॉल कर सकते हैं।

यह एक निःशुल्क WordPress प्लगइन है, जो phpMyAdmin और Adminer के समान इंटरफ़ेस प्रदान करता है, लेकिन यह आपके WordPress डैशबोर्ड के अंदर चलता है।

यदि आप SQL Buddy का उपयोग करने का निर्णय लेते हैं, तो कृपया याद रखें कि इसका उपयोग पूरा होने के बाद प्लगइन को निष्क्रिय करके हटा दें। इसे अपनी वेबसाइट पर इंस्टॉल छोड़ना एक संभावित सुरक्षा जोखिम है।

डेटाबेस टेबल्स

इस पाठ के लिए, हम डेटाबेस टेबल्स का निरीक्षण करने हेतु PhpMyAdmin का उपयोग करेंगे।

WordPress डेटाबेस कई टेबल्स से बना होता है। प्रत्येक टेबल आपकी वेबसाइट के लिए अलग-अलग प्रकार का डेटा स्टोर करती है।

प्रत्येक टेबल का एक ही प्रीफ़िक्स होता है, जिसे wp-config.php फ़ाइल में परिभाषित किया जाता है। डिफ़ॉल्ट रूप से, प्रीफ़िक्स wp_ होता है, लेकिन WordPress इंस्टॉलेशन प्रक्रिया के दौरान आप इसे अपनी पसंद के किसी भी नाम में बदल सकते हैं।

आइए कंटेंट प्रबंधित करने के लिए सबसे महत्वपूर्ण टेबल्स को देखकर शुरुआत करते हैं।

wp_posts और wp_postmeta

wp_posts टेबल संभवतः WordPress साइट की सबसे महत्वपूर्ण टेबल है और इसमें आपकी वेबसाइट की पोस्ट, पेज या किसी भी अन्य कस्टम पोस्ट प्रकार से संबंधित जानकारी स्टोर होती है। wp_posts टेबल की प्रत्येक पंक्ति एकल पोस्ट का प्रतिनिधित्व करती है। wp_postmeta टेबल आपको प्रत्येक पोस्ट के बारे में अतिरिक्त जानकारी स्टोर करने की सुविधा देती है। पोस्ट मेटा को अक्सर कस्टम फ़ील्ड भी कहा जाता है।

wp_comments और wp_commentmeta

wp_comments टेबल आपकी पोस्ट और पेज पर की गई टिप्पणियों से संबंधित जानकारी स्टोर करती है। जब भी कोई व्यक्ति किसी पोस्ट या पेज पर टिप्पणी करता है, तो वह टिप्पणी इसी टेबल में स्टोर होती है। wp_comments टेबल की प्रत्येक पंक्ति एकल टिप्पणी का प्रतिनिधित्व करती है। wp_commentmeta टेबल प्रत्येक टिप्पणी के बारे में अतिरिक्त जानकारी स्टोर कर सकती है।

wp_user और wp_usermeta

wp_users टेबल आपकी वेबसाइट के उपयोगकर्ताओं से संबंधित सभी जानकारी स्टोर करती है। wp_users टेबल की प्रत्येक पंक्ति एकल उपयोगकर्ता का प्रतिनिधित्व करती है। अन्य मेटा टेबल्स की तरह, wp_usermeta टेबल प्रत्येक उपयोगकर्ता के बारे में अतिरिक्त जानकारी स्टोर कर सकती है।

पोस्ट, टिप्पणियों और उपयोगकर्ताओं के साथ इंटरैक्ट करने वाले फ़ंक्शन

सभी WordPress डेटाबेस टेबल्स के लिए ऐसे फ़ंक्शन उपलब्ध हैं, जिनका उपयोग आप उस टेबल के साथ इंटरैक्ट करने के लिए कर सकते हैं।

ये फ़ंक्शन WordPress Database API का हिस्सा हैं।

इन सभी फ़ंक्शन को WordPress डेवलपर डॉक्यूमेंटेशन में Code Reference के अंतर्गत खोज सुविधा का उपयोग करके पाया जा सकता है।

आम तौर पर, WordPress डेटाबेस के साथ इंटरैक्ट करने के लिए उपयोग किए जाने वाले सभी फ़ंक्शन एक समान पैटर्न का पालन करते हैं।

एक insert फ़ंक्शन, एक update फ़ंक्शन और एक delete फ़ंक्शन होता है।

इनके नाम आम तौर पर एक जैसे होते हैं: प्रीफ़िक्स wp_, उसके बाद कार्रवाई और फिर टेबल का नाम।

उदाहरण के लिए, आइए पोस्ट के लिए इन फ़ंक्शन को देखते हैं:

  • wp_insert_post एक नई पोस्ट बनाने का फ़ंक्शन है
  • wp_update_post किसी मौजूदा पोस्ट को अपडेट करने का फ़ंक्शन है
  • wp_delete_post किसी पोस्ट को हटाने का फ़ंक्शन है

इसके बाद आम तौर पर किसी टेबल के सभी रिकॉर्ड या किसी एक रिकॉर्ड को प्राप्त करने के लिए फ़ंक्शन होते हैं।

इनके नाम आम तौर पर एक जैसे होते हैं: प्रीफ़िक्स get_, उसके बाद टेबल का एकवचन या बहुवचन नाम।

उदाहरण के लिए, get_posts पोस्ट के संग्रह को प्राप्त करने का फ़ंक्शन है।

और get_post किसी एक पोस्ट को प्राप्त करने का फ़ंक्शन है।

इनमें से प्रत्येक फ़ंक्शन में आम तौर पर कई पैरामीटर होते हैं, जिनका उपयोग लौटाए जाने वाले परिणामों को फ़िल्टर करने के लिए किया जा सकता है।

इसके अलावा, किसी भी मेटा टेबल के साथ इंटरैक्ट करने के लिए भी फ़ंक्शन होते हैं, आम तौर पर मेटा फ़ील्ड को जोड़ने, अपडेट करने या हटाने के लिए।

इनके नाम आम तौर पर एक जैसे होते हैं: कार्रवाई, उसके बाद टेबल का एकवचन नाम और फिर _meta

उदाहरण के लिए, पोस्ट के लिए add_post_meta मेटा फ़ील्ड जोड़ने का फ़ंक्शन है।

इसी प्रकार, update_post_meta मेटा फ़ील्ड को अपडेट करने का फ़ंक्शन और delete_post_meta मेटा फ़ील्ड को हटाने का फ़ंक्शन है।

wp_terms, wp_termmeta, wp_term_relationships और wp_term_taxonomy

wp_terms, wp_termmeta, wp_term_relationships और wp_term_taxonomy टेबल्स आपकी WordPress साइट में श्रेणियों और टैग को प्रबंधित करती हैं।

wp_terms टेबल आपकी वेबसाइट के terms से संबंधित जानकारी स्टोर करती है। wp_terms टेबल की प्रत्येक पंक्ति एकल term का प्रतिनिधित्व करती है। पर्दे के पीछे, श्रेणियाँ और टैग दोनों terms होते हैं।

वे श्रेणी हैं या टैग, यह इस बात से निर्धारित होता है कि वे किस taxonomy से जुड़े हैं, और यह जानकारी wp_term_taxonomy टेबल में स्टोर होती है।

wp_term_relationships टेबल terms और उनके मूल ऑब्जेक्ट्स के बीच संबंध स्टोर करती है, चाहे वह पोस्ट, पेज या कस्टम पोस्ट प्रकार हो।

अंत में, wp_termmeta टेबल प्रत्येक term के बारे में अतिरिक्त जानकारी स्टोर कर सकती है।

terms और taxonomies के साथ इंटरैक्ट करने वाले फ़ंक्शन

पोस्ट, टिप्पणियों और उपयोगकर्ताओं के साथ इंटरैक्ट करने वाले फ़ंक्शन की तरह, terms और taxonomies के साथ इंटरैक्ट करने के लिए भी फ़ंक्शन उपलब्ध हैं। इन्हें WordPress Code Reference में term या taxonomy खोजकर पाया जा सकता है।

wp_options

wp_options टेबल आपकी वेबसाइट की सेटिंग्स से संबंधित जानकारी स्टोर करती है। wp_options टेबल की प्रत्येक पंक्ति किसी विशिष्ट सेटिंग का प्रतिनिधित्व करती है। उदाहरण के लिए, siteurl विकल्प आपकी वेबसाइट का URL स्टोर करता है और blogdescription विकल्प आपकी वेबसाइट की टैगलाइन स्टोर करता है। wp_options टेबल आपकी वेबसाइट की सक्रिय थीम और सक्रिय प्लगइन से संबंधित जानकारी भी स्टोर करती है।

डेटा wp_options टेबल में key-value फ़ॉर्मेट का उपयोग करके स्टोर किया जाता है। key विकल्प का नाम होती है और value विकल्प का मान होती है।

wp_options टेबल में serialized डेटा स्टोर करना भी संभव है। Serialized डेटा एक ऐसी स्ट्रिंग होती है, जिसमें कई मान होते हैं। Serialized डेटा का उपयोग अक्सर डेटा के arrays और objects को स्टोर करने के लिए किया जाता है। इसका एक अच्छा उदाहरण सक्रिय प्लगइन की सूची है, जिसे एक serialized array के रूप में स्टोर किया जाता है।

options के साथ इंटरैक्ट करने वाले फ़ंक्शन

Options API का उपयोग आम तौर पर Settings API के साथ WordPress डैशबोर्ड के लिए सेटिंग्स पेज बनाने हेतु किया जाता है, चाहे वह core, plugins या themes के माध्यम से हो। Options API wp_options टेबल के साथ इंटरैक्ट करने के लिए add_option, update_option और delete_option जैसे फ़ंक्शन प्रदान करती है।

wp_links

wp_links टेबल आपकी वेबसाइट के links से संबंधित जानकारी स्टोर करती है। Links एक ऐसी सुविधा थी जिसे WordPress के संस्करण 3.5 में हटा दिया गया था।

हालाँकि, Links Manager plugin का उपयोग करके इस कार्यक्षमता को फिर से सक्षम करना अभी भी संभव है, इसलिए पिछली संगतता के लिए यह टेबल बनी हुई है।

निष्कर्ष

WordPress डेटाबेस में मौजूद टेबल्स की सही पहचान करके उनके साथ इंटरैक्ट कर पाना एक अत्यंत उपयोगी कौशल है और WordPress के साथ डेवलपमेंट करते समय यह आपको WordPress के काम करने के तरीके को बेहतर ढंग से समझने में मदद करेगा।