WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Свой плагин. Обновление

Привет, Тимур.
Может нубский вопрос.
Написал плагин. Поставил клиенту. Можно ли сделать чтобы была возможность обновления этого плагина с моего сайта ?
К примеру у него стоит 1.00, я загружаю на свой сайт 1.01, он у себя кликает на плагине обносить и получает 1.01.
Как то не смог найти нормального руководства как это делается если возможно.
Спасибо

0
Verian
6.6 лет назад
  • 1

    Могу предложить такую логику. Есть такая функция wp_cron. На своем сайте делаете настройку, чтобы в указанное время она делала архив с вашим плагином. На сайте клиента тоже используя cron + cURL качаете этот файл и распаковываете перезаписывая существующий плагин. Сделайте разбежку минут в 10. Попутно могут быть проблемы с Filesystem, для их решения вам в конфиге надо будет завести соответствующие константы https://codex.wordpress.org/Editing_wp-config.php.

    Verian 6.6 лет назад

    Ага, то есть, изначально такой возможности нет.
    Я не говорил что это должен быть автоапдэйт.
    Думал есть возможность разместить архив с новым билдом плагина. А клиент увидит что можно апгрейдануть плагин. А обновлять или нет - на его усмотрение.
    Спасибо за совет

    Verian 6.6 лет назад

    Спасибо, надо поразбираться

    Molotow 6.6 лет назад

    В файле wp-admin/update.php в самом низу есть такой хук https://developer.wordpress.org/reference/hooks/update-custom_action/. Вот через него я полагаю и можно что то сколхозить самому.

    Есть готовые решения

    https://github.com/TGMPA/TGM-Plugin-Activation
    http://tgmpluginactivation.com/configuration/
    Вот есть такой обвес для темы. Настраиваете и кидаете себе в папку с темой. В папке с плагинами на своем серваке создает json файл и описываете плагины которые необходимы для работы темы с версиями и тд.
    В какой то момент срабатывает проверка и если версии отличаются то он предложит обновится, а в настройках вы указываете урл откуда обновляться. Короч... все правильно настроите и ваша задача будет решена.

    Есть еще такое решение https://github.com/YahnisElsts/wp-update-server
    https://github.com/YahnisElsts/plugin-update-checker

    И вот еще https://wordpress.stackexchange.com/questions/13/updates-for-a-private-plugin

    Я все сказал. Удачи.

    Kama 6.6 лет назад

    Вот эта ссылка от Молотова: https://wordpress.stackexchange.com/questions/180727/wordpress-plugin-from-own-server то что тебе нужно!

    Verian 6.6 лет назад

    Большое спасибо

    Комментировать
  • 0

    Такой же сейчас вопрос. Я смотрю, и вопросу и решение один 5 лет назад, второй вообще 11... ничего более свежего не появилось, учитывая и существенно обновленные версии WP это время, да и php тоже ?

    Kama 2 года назад

    Готового решения тут не даст никто и я не уверен что найдешь. Вариантов это сделать и как это будет работать в мелочах - море! Но суть одна - все делается через API WP для обновления плагинов - это набор одних и тех же хуков. Это апи не меняется уже очень много лет (и меняться я думаю не будет, а то море плагинов просто останутся без обновления) и поэтому старые примеры должны работать.

    Возможно будет гдето нотисы, гдето можно код под новые версии ПХП поправить, но суть остается такой же:

    • В ВП на хуках цепляемся где нужно и отправляем запросы для своих плагинов на свой сервер.
    • На сервере принимаем эти запросы, проверяем данные и если надо отдаем УРЛ зип архива, который будет означать что есть новая версия. Дальше ВП сам по этму УРЛ скажет юзеру что есть новая версия и он по кнопке или через КЛИ сможет обновить плагин. Ну или сможет включить автообновление - это новая относительно фишка, которая не противоречит старому коду.

    Вообще, там можно наворачивать и наворачивать это все.

    Вот эта ссылка примерно то что нужно, с этого кода можно начать и разбираться в устройстве всего этого: https://wordpress.stackexchange.com/questions/180727/wordpress-plugin-from-own-server

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация