it-swarm.asia

تحديثات للمكون الإضافي الخاص؟

إذا قمت بكتابة مكون إضافي خاص ، فهل هناك طريقة لاستخدام آلية التحديث التلقائي في WordPress لتحديثه؟

أرغب في تغليف الوظيفة ، لكنها خاصة بمدوناتي الخمس أو نحو ذلك ، لذا فهي ليست مرشحًا جيدًا لمورد الإضافات العامة. لكنني أحب آلية التحديث السهل.

هل هناك طريقة للقيام بذلك؟

112
artlung

يبدو أن الرمز المطبق في 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. نظرًا للرمز الموجود في هاتين الوظيفتين ، أعتقد أنه سيكون من الممكن حقن خادم التحديث الخاص بك ، فأنت تحتاج فقط إلى إلقاء نظرة على كيفية تنسيق تفاصيل الحزمة ومطابقتها.

45
Annika Backstrom

هذا البرنامج المساعد يفعل ذلك لك:

التحديثات التلقائية للإضافات الخاصة والتجارية

منذ زمن سحيق ، فقط الإضافات المستضافة في دليل الإضافات الرسمي WordPress.org تدعم التحديثات التلقائية. الآن ، كتبت مكتبة PHP يمكنك استخدامها لإضافة إمكانات التحديث التلقائي إلى أي مكون إضافي. الإضافات العامة والخاصة والتجارية على حد سواء - يمكن للجميع الآن الاستمتاع بمزايا إشعارات التحديث التلقائي والترقيات بنقرة واحدة.

مستودع جيثب

40
agileapricot

إذا كنت تحب مجانًا ... وتريد استخدام شيء ما مثل GitHub أو GitLab أو BitBucket ، فهذا هو مكون إضافي جيد النوعية ومدعوم للتعامل معه (يدعم القطاع الخاص والمؤسسات):

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

9
sMyles

أنا أبحث في نفس الشيء. بعض الروابط التي وجدتها قد تكون مفيدة:

الأول هو بعض المعلومات والمؤشرات إلى ترقيات API. والثاني هو مقتطف شفرة يوضح كيفية طلب المعلومات من واجهة برمجة التطبيقات.

8
Dougal Campbell

قد ترغب في التحقق من البرنامج المساعد WordPress Development Kit . لقد قمت مؤخرًا بترحيل نظام التحديث الخاص بي إلى هذا البرنامج المساعد. يُعد المكوّن الإضافي الآن بمثابة المعالج الخلفي لتحديثات المكون الإضافي المتميزة.

هذا مشابه في الإعداد للحل المقدم من قبل agileapricot أعلاه. سيتم تثبيته كبرنامج إضافي قياسي في موقع WordPress. تستضيف ملفات .Zip الممتازة و plugins.json في أدلة الإنتاج أو التجريبي على الخادم الخاص بك (المحدد في إعدادات المكون الإضافي).

يتيح لك المكوّن الإضافي أيضًا سرد إصدارات المكوّن الإضافي ، ويمكنه أيضًا توفير تنزيل للملفات على الصفحات العامة أو المحمية بكلمة مرور أو المحمية بالاشتراك. يمكنك مشاهدة مثال على قائمة الإصدارات على الصفحة هنا .

لقد كنت أستخدم المكوِّن الإضافي منذ شهور لنشر سجل التغيير للإضافات المميزة وقائمة الإصدارات الحالية وقوائم التنزيل لأصحاب "اشتراكي المميز". الآن ، مع الإصدار 0.7.01 ، تعمل كوجهة استعلام للحصول على تحديثات WordPress المضمّنة.

آمل أن يجد البعض منك ذلك مفيدًا.

1
Lance Cleveland

إذا كنت تريد حلاً مستضافًا لا تحتاج إلى إدارته ، فتحقق من Kernl ( https://kernl.us ). إنها خدمة توفر البنية الأساسية لتحديث المكونات الإضافية وتجعلها سهلة الاندماج في المكونات الإضافية الخاصة بك.

1
Jack Slingerland