Этот класс предназначен для использования с вашими плагинами WordPress, размещенными на GitHub. Цель этого класса – позволить вашему плагину WordPress обновляться всякий раз, когда вы выпускаете новую версию своего плагина, аналогично тому, как пользователи знают и любят хранилище плагинов WordPress.org.
Не все плагины могут или должны быть размещены в хранилище плагинов WordPress.org, или вы можете разместить его и на GitHub.
Этот класс был первоначально разработан Йоахимом Кудишем, но поскольку у него не было возможности обновить его через некоторое время, radishconcepts взялись за его дальнейшую судьбу. Так же radishconcepts используют этот класс в паре собственных плагинов (dogfooding!) И будут продолжать развивать (по их заявлениям).
Инструкция по применению
- Класс должен быть включен где-то в ваш плагин. Вам потребуется файл (пример:):
include_once('updater.php');. - Вам нужно будет инициализировать класс, используя что-то похожее на это:
if (is_admin()) { // note the use of is_admin() to double check that this is happening in the admin
$config = array(
'slug' => plugin_basename(__FILE__), // this is the slug of your plugin
'proper_folder_name' => 'plugin-name', // this is the name of the folder your plugin lives in
'api_url' => 'https://api.github.com/repos/username/repository-name', // the GitHub API url of your GitHub repo
'raw_url' => 'https://raw.github.com/username/repository-name/master', // the GitHub raw url of your GitHub repo
'github_url' => 'https://github.com/username/repository-name', // the GitHub url of your GitHub repo
'zip_url' => 'https://github.com/username/repository-name/zipball/master', // the zip url of the GitHub repo
'sslverify' => true, // whether WP should check the validity of the SSL cert when getting an update, see https://github.com/jkudish/WordPress-GitHub-Plugin-Updater/issues/2 and https://github.com/jkudish/WordPress-GitHub-Plugin-Updater/issues/4 for details
'requires' => '3.0', // which version of WordPress does your plugin require?
'tested' => '3.3', // which version of WordPress is your plugin tested up to?
'readme' => 'README.md', // which file to use as the readme for the version number
'access_token' => '', // Access private repositories by authorizing under Appearance > GitHub Updates when this example plugin is installed
);
new WP_GitHub_Updater($config);
}
-
В вашем репозитории GitHub вам нужно будет включить следующую строку (отформатированную точно так же) в любом месте вашего файла Readme:
~Current Version:1.4~ -
Вам нужно будет обновлять номер версии каждый раз, когда вы обновляете плагин, это в конечном итоге позволит плагину узнать, что доступна новая версия.
-
Начиная с версии 1.6, программа обновления также может выбрать версию из заголовка плагина.
-
Поддержка частного репозитория была добавлена в v1.5
Важные изменения
1.6 (в разработке)
- Получить версию из заголовка плагина вместо readme с поддержкой обратной совместимости для readme, добавленной @ninnypants
- Лучшие способы обработки вызовов GitHub API и способ хранения данных благодаря @coenjacobs
- Следуйте стандартам кода WordPress и удаляйте конечные пробелы
- Исправить уведомление PHP на экране администратора плагинов, props @ninnypants
- Используйте центральную функцию для построения запроса, используемого для взаимодействия с GitHub API, props @davidmosterd
1,5
- Добавлена поддержка частных репозиториев @pdclark.
- Дополнительное исправление sslverify
Источник записи: https://github.com