WidgetCoreمستندات WidgetCore

به‌روزرسانی

به‌روزرسانی افزونه‌ی WidgetCore مستقیماً از مخزن گیت‌هاب؛ کلید بررسی به‌روزرسانی، به‌روزرسانی خودکار، یادداشت‌های انتشار، توکن مخزن خصوصی و بازگشت به وردپرس.ارگ.

از نسخه‌ی 0.0.7 به بعد، افزونه نسخه‌های تازه را مستقیماً از مخزن گیت‌هاب می‌گیرد. این کار فقط با هدر Update URI و هوک‌های خود هسته‌ی وردپرس انجام می‌شود و هیچ کتابخانه‌ی به‌روزرسانی نصب نمی‌شود.

به‌روزرسانی در یک نگاه

  1. وردپرس نسخه‌ی منتشرشده در گیت‌هاب را می‌پرسد

    در هر بررسی به‌روزرسانی، آخرین انتشار مخزن WidgetCore/Plugin خوانده می‌شود.

  2. اگر نسخه جدیدتر باشد، در فهرست افزونه‌ها دیده می‌شود

    با همان پیام همیشگی وردپرس: «نسخه‌ی جدیدی موجود است».

  3. با یک کلیک به‌روز می‌کنید

    بسته‌ی widgetcore.zip از همان انتشار دانلود و جایگزین می‌شود.

  4. یادداشت‌های انتشار را می‌بینید

    در صفحه‌ی «جزئیات افزونه»، بخش تغییرات از متن همان انتشار پر می‌شود.

کلید «بررسی به‌روزرسانی»

در «پیشخوان → افزونه‌ها»، زیر نام WidgetCore یک پیوند به نام بررسی به‌روزرسانی وجود دارد (فقط برای کاربرانی با توانایی update_plugins). با کلیک روی آن:

  1. کش افزونه‌ها پاک می‌شود (wp_clean_plugins_cache( true )).
  2. بررسی به‌روزرسانی فوراً اجرا می‌شود (wp_update_plugins()).
  3. یک پیام در بالای صفحه نتیجه را می‌گوید: یا «نسخه‌ی جدیدی موجود است» یا اینکه همین نسخه آخرین است.

به‌روزرسانی خودکار

کلید بومی «به‌روزرسانی خودکار» برای همین افزونه کار می‌کند؛ یعنی می‌توانید در فهرست افزونه‌ها روی «فعال‌کردن به‌روزرسانی خودکار» بزنید تا وردپرس در بررسی‌های دوره‌ای، نسخه‌ی تازه را خودش نصب کند. هیچ تنظیمات جداگانه‌ای در افزونه اضافه نشده است.

چه چیزی بررسی می‌شود

مقدارمنبع
آدرس مخزنهدر Update URI در فایل اصلی افزونه
نقطه‌ی پرس‌وجوhttps://api.github.com/repos/WidgetCore/Plugin/releases/latest
بسته‌ی نصبدارایی انتشار با نام widgetcore.zip
جایگزین بستهzipball_url همان انتشار (فقط اگر دارایی پیدا نشود)
شماره‌ی نسخهبرچسب انتشار، پس از حذف حرف v
مهلت درخواست8 ثانیه

چند محافظ امنیتی در همان تابع قرار دارد:

  • برچسب انتشار باید دقیقاً الگوی عدد.عدد.عدد داشته باشد، وگرنه به‌روزرسانی نادیده گرفته می‌شود.
  • دامنه‌ی بسته فقط می‌تواند github.com یا api.github.com باشد؛ هر دامنه‌ی دیگری رد می‌شود.
  • هنگام نصب، پوشه‌ی extracted به widgetcore/ منتقل می‌شود تا ساختار پوشه‌ها در به‌روزرسانی‌های بعدی نشکند.

مخزن خصوصی: توکن گیت‌هاب

اگر مخزن را خصوصی کرده‌اید، API گیت‌هاب بدون اعتبارنامه پاسخ نمی‌دهد. در این حالت ثابت WGCR_GITHUB_TOKEN را در wp-config.php تعریف کنید:

php
define( 'WGCR_GITHUB_TOKEN', 'ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxx' );

توکن به‌صورت هدر Authorization: Bearer … به درخواست‌های API اضافه می‌شود.

بازگشت به وردپرس.ارگ

اگر روزی افزونه در مخزن رسمی افزونه‌های وردپرس منتشر شود، کافی است هدر Update URI از فایل اصلی افزونه حذف شود؛ آن‌گاه به‌روزرسانی مانند هر افزونه‌ی دیگری از مسیر عادی وردپرس انجام می‌شود و هیچ کد دیگری عوض نمی‌شود.

رفع مشکلات به‌روزرسانی

نشانهعلت احتمالیراه‌حل
نسخه‌ی جدید در فهرست نمی‌آیدکش 12 ساعته‌ی وردپرسپیوند «بررسی به‌روزرسانی» را بزنید
خطا در دانلود بستهمخزن خصوصی بدون توکنتعریف WGCR_GITHUB_TOKEN
خطای cURL یا مهلت زمانیخروجی مسدود سرور به api.github.comبازکردن دسترسی خروجی به api.github.com و github.com
«جزئیات افزونه» خالی استانتشار بدون یادداشتمتن یادداشت را در انتشار گیت‌هاب بنویسید
پس از به‌روزرسانی، پوشه عوض شدهساختار ZIP انتشاربسته‌ی انتشار باید پوشه‌ی widgetcore/ داشته باشد

تاریخچه‌ی نسخه‌ها

فهرست کامل تغییرات هر نسخه در صفحه‌ی Changelog آمده است. نسخه‌گذاری افزونه شمارنده‌ای است: هر انتشار یک پله جلو می‌رود (0.0.1 → 0.0.2 … 0.0.9 → 0.1.0 … 0.9.9 → 1.0.0).