Обновления для частного плагина?

Если я пишу приватный плагин, есть ли способ использовать механизм автоматического обновления WordPress для его обновления?

Я хочу инкапсулировать функциональность, но она специфична для моих собственных 5 или около того блогов, поэтому он не является хорошим кандидатом для ресурса публичных плагинов. Но мне нравится механизм простого обновления.

Есть ли способ сделать это?

104 голоса | спросил artlung 11 PM000000110000004031 2010, 23:43:40

7 ответов


43

Похоже, что применимый код находится в wp-includes /update.php, wp_update_plugins ():

$ to_send = (объект) compact ('plugins', 'active');

$ options = array (
    'timeout' => ((определено ('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-upgraderader.php. Учитывая код в этих двух функциях, я думаю, что можно было бы добавить свой собственный сервер обновлений, вам просто нужно посмотреть, как детали пакета отформатированы и соответствуют этому.

ответил Annika Backstrom 12 AM000000120000004431 2010, 00:16:44
39

Этот плагин делает это для вас:

  

Автоматические обновления для частных и коммерческих плагинов

     

С незапамятных времен плагины, размещенные в официальном каталоге плагина WordPress.org, поддерживали автоматические обновления. Теперь я написал библиотеку PHP, которую вы можете использовать для добавления возможностей автоматического обновления для любого плагина. Публичные, частные и коммерческие плагины - все могут теперь пользоваться преимуществами уведомлений об автоматическом обновлении и обновлениях с одним щелчком мыши.

Репозиторий GitHub

ответил agileapricot 12 SunEurope/Moscow2010-12-12T18:58:17+03:00Europe/Moscow12bEurope/MoscowSun, 12 Dec 2010 18:58:17 +0300 2010, 18:58:17
9

Если вам нравится бесплатно ... и вы хотите использовать что-то вроде GitHub, GitLab или BitBucket, это хорошее качество и поддерживаемый плагин для его обработки (поддерживает частные и корпоративные):

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

ответил sMyles 20 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 20 Sep 2016 03:34:28 +0300 2016, 03:34:28
8

Я смотрю то же самое. Несколько ссылок, которые я нашел, могут быть полезны:

Во-первых, это информация и указатели на API обновлений. Второй - это фрагмент кода, показывающий, как на самом деле запрашивать информацию из API.

ответил Dougal Campbell 12 PM00000040000004231 2010, 16:44:42
1

Возможно, вы захотите проверить плагин для разработчиков WordPress . Недавно я перенес свою собственную систему обновлений в этот плагин. Плагин теперь служит фоновым процессором для моих премиальных обновлений плагина.

Это аналогично при настройке на решение, предоставляемое agileapricot выше. Он будет установлен как стандартный плагин на сайте WordPress. Вы размещаете свои премиальные .zip-файлы и plugins.json в каталогах производства или предварительного просмотра на вашем сервере (указанные в настройках плагина).

Плагин также позволяет вам указывать версии плагинов и даже обеспечивать загрузку файлов на общедоступных страницах, защищенных паролем или защищенных подпиской. Вы можете увидеть пример on-page список версий здесь .

Я использую плагин в течение нескольких месяцев, чтобы опубликовать журнал изменений для моих премиальных надстроек, списка текущих версий и списков загрузки для моих подписчиков Premier Subscription. Теперь, с версией 0.7.01, он работает в качестве места назначения запросов для встроенных обновлений WordPress.

Надеюсь, что некоторые из вас сочтут это полезным.

ответил Lance Cleveland 5 Maypm15 2015, 23:26:02
1

Если вы хотите разместить решение, которое вам не нужно, проверьте Kernl ( https://kernl.us ). Это сервис, который предоставляет инфраструктуру для обновления плагинов и позволяет легко интегрироваться в ваши собственные плагины.

ответил Jack Slingerland 8 Maypm15 2015, 17:02:38
-1

вы можете использовать этот коммерческий плагин: http://autohosted.com/ нет ограничений и иметь несколько других функций, которые могут вам понадобиться:

  • Без ежемесячной оплаты
  • Неограниченное использование
  • Легкая интеграция с темами и плагинами
  • Аутентификация по доменам, ключам и amp; роли
ответил David 9 Jam1000000amThu, 09 Jan 2014 06:36:56 +040014 2014, 06:36:56

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132