Если я напишу приватный плагин, есть ли способ использовать механизм автообновления WordPress для его обновления?
Я хочу инкапсулировать функциональность, но она специфична для моих 5 или около того блогов, так что это не очень хороший кандидат на общедоступный ресурс плагинов. Но я люблю легко обновляемый механизм.
Есть ли способ сделать это?
Ответы:
Похоже , применимый код в
wp-includes/update.php
,wp_update_plugins()
:Он специально проверяет api.wordpress.org. Технически говоря, можно было бы передать ключ внутрь,
$to_send
чтобы делегировать проверку, но, насколько мне известно, эта функция не поддерживается.Если вы подключитесь,
set_site_transient_update_plugins
вы можете добавить свои собственные детали пакета в эту переменную. Похоже, что эти значения будут доверенными при запуске средства обновления плагина. Смотритеwp-admin/update.php
иwp-admin/includes/class-wp-upgrader.php
. Учитывая код в этих двух функциях, я думаю, что было бы возможно внедрить ваш собственный сервер обновлений, вам просто нужно посмотреть, как отформатированы детали пакета и соответствовать этому.источник
Этот плагин делает это для вас:
GitHub репозиторий
источник
wp-update-server
, написанным тем же автором;) github.com/YahnisElsts/wp-update-server Используя этот сервер, вы можете защитить свои плагины, как описано здесь: w-shadow.com/blog/2013/03/19/…Если вам нравится бесплатный ... и вы хотите использовать что-то вроде GitHub, GitLab или BitBucket, это хороший и поддерживаемый плагин для его обработки (поддерживает частные и корпоративные приложения):
https://github.com/afragen/github-updater
источник
Я смотрю на то же самое. Я нашел пару ссылок, которые могут оказаться полезными:
Во-первых, некоторая информация и указатели на API обновлений. Второй фрагмент кода, показывающий, как на самом деле запрашивать информацию из API.
источник
Вы можете попробовать плагин WordPress Development Kit . Я недавно перенес свою собственную систему обновлений на этот плагин. Плагин теперь служит внутренним процессором для моих премиальных обновлений плагинов.
По настройке это похоже на решение, предоставленное agileapricot выше. Он будет установлен как стандартный плагин на сайте WordPress. Вы размещаете свои премиум-файлы .zip и plugins.json в производственных или пререлизных каталогах на своем сервере (указанном в настройках плагина).
Плагин также позволяет вам перечислять версии плагинов и может даже обеспечить загрузку файлов на общедоступных, защищенных паролем или защищенных подпиской страницах. Вы можете увидеть пример списка версий на странице здесь .
Я использовал плагин в течение нескольких месяцев, чтобы публиковать журнал изменений для своих премиум-надстроек, список текущих версий и списки загрузок для моих владельцев Premier Subscription. Теперь, с версией 0.7.01, он работает как назначение запросов для встроенных обновлений WordPress.
Надеюсь, некоторые из вас найдут это полезным.
источник
Если вы хотите разместить решение, которым не нужно управлять, обратитесь к Kernl ( https://kernl.us ). Это сервис, который предоставляет инфраструктуру для обновления плагинов и позволяет легко интегрироваться в ваши собственные плагины.
источник
Вы можете использовать этот коммерческий плагин: http://autohosted.com/ без ограничений и иметь несколько других функций, которые могут вам понадобиться:
источник