प्लगइन सक्रियण के दौरान संदेश कैसे आउटपुट करें


10

मैं एक प्लगइन विकसित कर रहा हूं, लेकिन सक्रियण वाक्यांश के दौरान मैं लगातार बगों का सामना कर रहा हूं। हालांकि, त्रुटि संदेशों को प्रदर्शित करने का कोई आसान तरीका नहीं है, क्योंकि गूंजने वाले सामान के परिणामस्वरूप 'अनएक्सपैक्टेड आउटपुट' त्रुटि होगी। मैं admin_message हुक की कोशिश की, लेकिन यह काम नहीं करता है। यदि सक्रियण का कुछ चरण कारण के साथ विफल हो गया है तो मैं उपयोगकर्ता को कैसे सचेत कर सकता हूँ?

जवाबों:


9

परीक्षण उद्देश्यों के लिए आप लॉग सिस्टम (php_error.log) का उपयोग कर सकते हैं:

error_log('Plugin activated', 0);

// Check for DB table existance
if(!$this->hasDBTable()){
    error_log('Database not present', 0);
    if($this->createCELabelsDBTables()){
        error_log('Database was created.', 0);
    } else {
        error_log('Error creating the CE Labels Plugin db tables!', 0);
    }

} else {
    error_log('Database OK', 0);
}

"हेडर पहले से भेजे गए" त्रुटि के बिना उपयोगकर्ता को आउटपुट करने के लिए, आप php फ़ंक्शन ट्रिगर_error का उपयोग कर सकते हैं:

trigger_error('PLUGIN OK',E_USER_ERROR);

Wordpress के साथ हमेशा E_USER_ERROR होना चाहिए या यह संदेश प्रदर्शित नहीं करेगा।

मुझे पता है कि error_log पूरी तरह से काम करता है क्योंकि मैं इसका उपयोग कर रहा हूं, लेकिन जानकारी के लिए ट्रिगर_रोर प्रदर्शित होना चाहिए। प्रयास करें और खुद देखें :)


क्या आप जानते हैं कि मुझे error_log फ़ंक्शन पर और दस्तावेज़ कहाँ मिल सकते हैं? मुझे यह पता लगाने में कठिनाई हो रही है कि यह कैसे काम करेगा।
नाथन आर्थर

जो लोग इसके बाद आ सकते हैं: php.net/manual/en/function.error-log.php
नाथन आर्थर

4

समाधान:

register_activation_hook( __FILE__, 'my_activation_func' ); function my_activation_func() {
    file_put_contents(__DIR__.'/my_loggg.txt', ob_get_contents());
}

इस कोड को प्लगइन में डालें, और त्रुटि के बाद, अपने प्लगइन फ़ोल्डर के अंदर "my_loggg.txt" देखें।


यह मेरे लिए काम करता है, लेकिन मुझे इसे फ़ाइल के निचले भाग पर रखना होगा! अन्यथा यह आउटपुट पर कब्जा नहीं करता था।
बेन ओगोरक

0

1) कृपया आंतरिक पृष्ठों या प्लगइन पृष्ठों में अतिरिक्त रिक्ति निकालें।

2) पृष्ठों या प्लगइन पृष्ठों में इनलाइन स्टाइल को हटा दें।

हर बार मेरे लिए काम किया। मैंने कई बार एक ही विधि का उपयोग किया है। जब प्लगइन पृष्ठ या Wordpress पृष्ठ में समस्या त्रुटि।

सादर,

हितेश नागपाल

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