वर्डप्रेस वास्तव में आप अपने खुद के डीबीए (डेटाबेस अमूर्त परत) सिर्फ एक फ़ाइल db.php
बुलाया बनाने और अपने wp-content
निर्देशिका की जड़ में सहेजकर उपयोग करने के लिए अनुमति देता है।
मुझे कक्षा के माध्यम से डेटाबेस तक पहुंचने की आवश्यकता की समस्या थी, जिसमें वर्डप्रेस के साथ कुछ भी नहीं था, लेकिन मैं इस स्क्रिप्ट के साथ पूरी तरह से नया डीबीए नहीं बनाना चाहता था।
क्योंकि डिफ़ॉल्ट WPDB
आप कारखाने पैटर्न का उपयोग करने की अनुमति नहीं है, मैं जल्दी से इसे समर्थन करने के लिए कुछ पंक्तियां लिखी, और db.php
में जोड़ा ...
<?php
class DB extends wpdb
{
protected static $instance = null;
public static function getInstance()
{
if (!self::$instance) {
self::$instance = new DB(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
}
return self::$instance;
}
}
$wpdb = DB::getInstance();
अब जब से wpdb
उपयोग करने के लिए की आवश्यकता होगी,
$wpdb = DB::getInstance();
एक विधि के भीतर से नहीं बल्कि भयानक global
से,: कहीं और (मेरे मामले में एक गैर वर्डप्रेस कक्षा में), तो आप उपयोग Juse कर सकते हैं।
स्रोत
2011-03-24 12:19:00
यह निश्चित रूप से सबसे अच्छा जवाब है! –
कस्टम स्क्रिप्ट के लिए SHORTINIT का उपयोग करके अब तक का सबसे अच्छा जवाब बहुत तेज़ है। –
धन्यवाद! मुझे ठीक इसी की आवश्यकता थी। wp-db.php को कुछ असाधारण WP फ़ंक्शंस की आवश्यकता होती है जो शामिल नहीं होते हैं और यह हल करता है। –