2011-08-16 12 views
6

मैं एक वर्डप्रेस प्लगइन विकसित कर रहा हूं जिसके लिए अपडेट की आवश्यकता है, हालांकि प्लगइन संस्करण को मेरे सर्वर से चेक किया जा रहा है। ऐसे कई प्लगइन्स हैं जिन्हें मैंने विकसित किया है जो नए संस्करणों की जांच के लिए सटीक उसी सर्वर का उपयोग करते हैं। जिस समस्या का मैं अनुभव कर रहा हूं वह यह है कि जब सभी प्लगइन्स को अपडेट की आवश्यकता होती है और मैं विवरण देखें क्लिक करता हूं, तो प्लगइन में से एक अपडेट (संस्करण, विवरण, आदि) का विवरण दिखाएगा, लेकिन अन्य प्लगइन कोई जानकारी नहीं दिखाएंगे । कुछ डिबगिंग के बाद मैं देख सकता हूं कि सर्वर निश्चित रूप से डेटा लौटा रहा है।वर्डप्रेस प्लगइन - स्व-होस्टेड अपडेट

मेरा सवाल यह है कि, मैं अन्य प्लगइन के साथ विवाद किए बिना प्लगइन्स_पीआई फ़िल्टर को कई बार कैसे लागू कर सकता हूं?

उत्तर

9

आपका अवलोकन सही है। यह स्पष्ट नहीं है। यहां तक ​​कि ब्रैड और ओज़ (प्लगइन डेवलपमेंट एड। Wrox) की पुस्तक में अध्याय में पृष्ठ 267 पर "त्रुटि अपना स्वयं का एपीआई भंडार" उदाहरण में एक त्रुटि शामिल है। आप की तरह, मैं (खो) समय बिताया वैकल्पिक एपीआई में एक दो प्लग इन के साथ इस मुद्दे को खोजने के लिए ...

समाधान: याद रखें कि WP फिल्टर में है कि पहले पैरामीटर मूल मूल्य के लिए पारित किया है फिल्टर। तो फिल्टर (वैकल्पिक एपीआई का उपयोग कर प्लगइन्स द्वारा सूचीबद्ध) को श्रेणीबद्ध करने के लिए ... पहली पंक्ति होना चाहिए:

function xiliw_altapi_information($false, $action, $args) { 
    $plugin_slug = plugin_basename(__FILE__); 
     // Check if this plugins API is about this plugin 
     if($args->slug != $plugin_slug) { 
      return $false; // var to conserve the value of previous filter of plugins list in alternate api. fixes book error not val false 
     } 

     // POST data to send to your API 
     $args = array(
      'action' => 'plugin_information', 
      'plugin_name' => $plugin_slug, 
      'version' => $transient->checked[$plugin_slug], 
      'registration' => $this->registration 
     );//../.. 

इस परीक्षण, हर बार हुक की सूची कहा जाता है, केवल एक ही ऐसा करने से - चिंतित प्लगइन - स्पलैश विंडो के लिए जानकारी प्रदर्शित करने के लिए सही जवाब देता है।

यदि मेरे पास समय है, तो शायद मैं इस वैकल्पिक शक्तिशाली एपीआई को प्रबंधित करने के लिए कक्षा के बारे में एक और अधिक संपूर्ण लेख प्रकाशित करूंगा और इसे एक-निजी-प्लगइन में कैसे जोड़ूं।

+4

बस सभी के लिए इसे स्पष्ट करने के लिए, कुंजी यह है कि पुस्तक में कोड बुलियन 'झूठा' देता है जबकि उपरोक्त कोड PHP चर '$ false' लौटा रहा है। बहुत सूक्ष्म, लेकिन एक बड़ा अंतर। इस उत्तर के लिए धन्यवाद + 1. – rcravens

+3

उस पहले, er, का नाम बदलने के लिए एक अच्छा तर्क है '$ false' के अलावा कुछ और तर्क। '$ मूल 'का प्रयास क्यों न करें? –

संबंधित मुद्दे