एक निजी प्लगइन के लिए अद्यतन?


117

यदि मैं एक निजी प्लगइन लिखता हूं, तो क्या इसे अपडेट करने के लिए वर्डप्रेस ऑटो-अपडेट तंत्र का उपयोग करने का कोई तरीका है?

मैं कार्यक्षमता को इनकैप्सुलेट करना चाहता हूं, लेकिन यह मेरे स्वयं के या 5 ब्लॉग्स के लिए विशिष्ट है, इसलिए यह सार्वजनिक प्लगइन्स संसाधन के लिए एक अच्छा उम्मीदवार नहीं है। लेकिन मुझे आसान-अपडेट करने वाला तंत्र बहुत पसंद है।

क्या इसे करने का कोई तरीका है?


मेरा मानना ​​है कि यह wp-hackers मेलिंग लिस्ट में एक फिल्टर विकल्प के रूप में दिन में वापस चर्चा की गई थी। इसे कभी हल नहीं किया गया, आईआईआरसी। मुझे लगता है कि प्रासंगिक चर्चा इस थ्रेड में थी: lists.automattic.com/pipermail/wp-hackers/2009-Febdays/… ... लेकिन मैं गलत हो सकता है।
ज़मोज़

यदि आप अपने स्वयं के समाधान को रोल नहीं करना चाहते हैं, तो आप होस्ट किए गए प्लगइन अपडेट के लिए kernl.us का उपयोग कर सकते हैं ।
जैक स्लिंगरलैंड

जवाबों:


48

ऐसा लगता है कि लागू कोड में है wp-includes/update.php, wp_update_plugins():

$to_send = (object) compact('plugins', 'active');

$options = array(
    'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3), 
    'body' => array( 'plugins' => serialize( $to_send ) ),
    'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
);  

$raw_response = wp_remote_post('http://api.wordpress.org/plugins/update-check/1.0/', $options);

यह विशेष रूप से api.wordpress.org की जाँच करता है। तकनीकी रूप से बोलते $to_sendहुए चेक को प्रत्यायोजित करने के लिए एक कुंजी को पास करना संभव होगा , लेकिन मेरे ज्ञान के लिए जो एक समर्थित सुविधा नहीं है।

यदि आप हुक करते हैं set_site_transient_update_pluginsतो आप इस चर में अपने स्वयं के पैकेज विवरण जोड़ सकते हैं। ऐसा लगता है कि उन मूल्यों पर भरोसा किया जाएगा जब आप प्लगइन अपडेटर चलाते हैं। देखें wp-admin/update.phpऔर wp-admin/includes/class-wp-upgrader.php। इन दो कार्यों में कोड को देखते हुए, मुझे लगता है कि अपने स्वयं के अपडेट सर्वर को इंजेक्ट करना संभव होगा, आपको केवल यह देखना होगा कि पैकेज विवरण कैसे स्वरूपित होते हैं और इससे मेल खाते हैं।


42

यह प्लगइन आपके लिए करता है:

निजी और वाणिज्यिक प्लगइन्स के लिए स्वचालित अपडेट

पुराने समय से, केवल आधिकारिक WordPress.org प्लगइन निर्देशिका में होस्ट किए गए प्लगइन्स ने स्वचालित अपडेट का समर्थन किया है। अब, मैंने एक PHP लाइब्रेरी लिखी है जिसका उपयोग आप किसी भी प्लगइन में स्वचालित अपडेट क्षमताओं को जोड़ने के लिए कर सकते हैं। सार्वजनिक, निजी और वाणिज्यिक प्लगइन्स समान - सभी अब स्वचालित अपडेट सूचनाओं और एक-क्लिक अपग्रेड के लाभों का आनंद ले सकते हैं।

गिटहब भंडार


2
आपको अपनी ओर से प्लगइन्स प्रबंधित करने में भी रुचि हो सकती है ... शायद पैकेज के साथ wp-update-server, उसी लेखक द्वारा लिखित;) github.com/YahnisElsts/wp-update-server इस सर्वर का उपयोग करके, आप अपने प्लग इन को सुरक्षित कर सकते हैं, जैसा कि यहाँ वर्णित: w-shadow.com/blog/2013/03/19/...
SimonSimCity

मैं कैसे मुफ्त प्लगइन पर वर्डप्रेस डिफ़ॉल्ट अपडेट चेकर को अक्षम कर सकता हूं?
csandreas1

भले ही वह वेबसाइट पुरानी लग रही हो, लेकिन परियोजना बहुत सक्रिय रूप से समर्थित है, और यह निजी बिटबकेट / जीथब रिपोज के साथ भी काम करती है! अलग-अलग इंटीग्रेशन उपलब्ध github.com/YahnisElsts/plugin-update-checker
Mr. Me

10

यदि आप मुफ्त पसंद करते हैं ... और GitHub, GitLab, या BitBucket जैसी किसी चीज़ का उपयोग करना चाहते हैं, तो इसे संभालने के लिए यह एक अच्छी गुणवत्ता और समर्थित प्लगइन है (निजी और उद्यम का समर्थन करता है):

https://github.com/afragen/github-updater


1
वाह! एक अच्छी तरह से समर्थित और परिपक्व परियोजना की तरह लग रहा है!
आर्मस्ट्रांगेस्ट

1
एक और प्लगइन पर भरोसा एक बहुत साफ समाधान नहीं लगता है।
kontur

2
@kontur बहुत सच है, लेकिन जैसा कि यह खुला स्रोत है, और लगातार अद्यतन होने के नाते, इसे फ्रेमवर्क के रूप में इस्तेमाल किया जा सकता है, या अपने स्वयं के निर्माण के लिए कोड उदाहरण के रूप में।
sMyles

8

मैं एक ही चीज में देख रहा हूं। लिंक की एक जोड़ी है कि मैंने पाया है कि उपयोगी हो सकता है:

पहले उन्नयन एपीआई के लिए कुछ जानकारी और संकेत है। दूसरा एक कोड स्निपेट है जिसमें दिखाया गया है कि वास्तव में एपीआई से जानकारी कैसे मांगी जाती है।


1
@ डगल - अच्छे लिंक!
माइकस्किंकल

1

आप वर्डप्रेस डेवलपमेंट किट प्लगइन की जांच कर सकते हैं । मैंने हाल ही में अपने मालिकाना अपडेट सिस्टम को इस प्लगइन में माइग्रेट किया है। प्लगइन अब मेरे प्रीमियम प्लगइन अपडेट के लिए बैक-एंड प्रोसेसर के रूप में कार्य करता है।

यह ऊपर दिए गए agileapricot द्वारा प्रदान किए गए समाधान के लिए सेटअप में समान है। यह एक वर्डप्रेस साइट पर एक मानक प्लगइन के रूप में स्थापित होगा। आप अपने सर्वर पर अपने प्रीमियम .zip फ़ाइलों और plugins.json को होस्ट करें या उत्पादन में पूर्व-निर्देशिका निर्देशिका (प्लगइन के लिए सेटिंग्स में निर्दिष्ट)।

प्लगइन आपको प्लगइन संस्करणों को सूचीबद्ध करने की अनुमति देता है और यहां तक ​​कि सार्वजनिक, पासवर्ड-संरक्षित या सदस्यता-संरक्षित पृष्ठों पर फ़ाइलों के लिए एक डाउनलोड भी प्रदान कर सकता है। आप यहां ऑन-पेज संस्करण सूची का एक उदाहरण देख सकते हैं ।

मैं अपने प्रीमियम ऐड-ऑन, वर्तमान संस्करणों की सूची के लिए परिवर्तन लॉग प्रकाशित करने के लिए महीनों के लिए प्लगइन का उपयोग कर रहा हूं, और मेरे प्रीमियर सदस्यता धारकों के लिए डाउनलोड सूची। अब, संस्करण 0.7.01 के साथ, यह इनलाइन वर्डप्रेस अपडेट के लिए क्वेरी गंतव्य के रूप में काम कर रहा है।

आशा है कि आप में से कुछ इसे उपयोगी पाते हैं।


1

यदि आप एक होस्टेड समाधान चाहते हैं जिसे आपको प्रबंधित नहीं करना है, तो कर्नेल ( https://kernl.us ) देखें। यह एक सेवा है जो प्लगइन्स को अपडेट करने के लिए बुनियादी ढाँचा प्रदान करती है और इसे अपने स्वयं के प्लगइन्स में एकीकृत करना आसान बनाता है।


यह व्यवहार्य लगता है।
kontur

-1

आप इस वाणिज्यिक प्लगइन का उपयोग कर सकते हैं: http://autohosted.com/ कोई सीमा नहीं है और कई अन्य विशेषताएं हैं जिनकी आपको आवश्यकता हो सकती है:

  • कोई मासिक शुल्क नहीं
  • असीमित उपयोग
  • थीम्स और प्लगइन्स के साथ आसान एकीकरण
  • डोमेन, कुंजियों और भूमिकाओं द्वारा प्रमाणीकरण

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