Intereting Posts
Управление WordPress Theme Как изменить запрос архива с помощью pre_get_posts для добавления CPT? Как сделать редактируемые метки в wordpress Функция для поиска предка пользовательского сообщения типа wordpress получение «Объект класса WP_Post не может быть преобразован в строку» – когда это строка get_template_part из плагина ранжирование контента с переполнением стека для wordpress? WordPress whiile shorting Как реализовать пользователей пользовательских типов сообщений Как отобразить форму подписки после нескольких сообщений в блоге сетки Пользовательский шаблон архива таксономии не признан Исключить все помеченные сообщения из цикла WP_Query Пытаясь использовать WP_Query для отображения пользовательского типа сообщения Условный оператор single.php, не распознающий условные обозначения Как я могу отправить приветственное письмо пользователю после их входа в систему в первый раз?

Обновлено WP Theme из репозитория Git

В настоящее время у меня есть клиентская тема на github. Вместо того, чтобы развертывать git или использовать службу, например, развертывание Beanstalk. Я буду нажимать одну и ту же тему на многих сайтах (точнее, 79) и хочу, чтобы они могли обновлять себя так же, как тема репозитория WP repo. Хорошим примером является то, как в системе Genesis работают обновления. Я видел вещи, в которых у вас есть другой плагин, установленный для этого, но я ищу более минималистское решение (если в любом случае сохранить эту функциональность в самой теме)?

Там есть несколько библиотек. Один из наиболее известных из Джои Кудиша и принимал на GitHub .

В основном это делает следующее:

  • использует API GitHub
  • Добавляет обратный вызов в фильтр 'pre_set_site_transient_update_plugins'
  • Добавляет другой обратный вызов к 'plugins_api'
  • наконец, использует WP HTTP API и выполняет wp_remote_get() в wp_remote_get() GitHub.

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

Для этого вам нужны две основные вещи

  • Крюк в pre_set_site_transient_update_themes
  • Используйте HTTP API для запроса того, у какого url есть ваше обновление

Основная предпосылка – версия вашей темы хранится в переходном режиме, который проверяет удаленный URL-адрес каждые x часов и сравнивает $version .

Заметки:

URL-адрес может быть любым, HTTP API поддерживает аутентификацию (частное репо) или все, что вы хотите отправить через заголовок.

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

Файл может быть любым, что можно разобрать (.xml, .txt), но обычно вы используете style.css

Вместо этого я добавлю код, чтобы проверить это: https://github.com/jeremyclark13/automatic-theme-plugin-update , в частности часть темы.