вопрос прост :) я делаю тему, которую буду использовать на многих сайтах. Поэтому я не хочу посещать весь сайт и загружать файлы каждый раз, когда исправляю ошибку или обновляю тему.
Есть ли способ, как я могу сделать систему обновления, как плагины, размещенные в каталоге плагинов WordPress.
С нетерпением жду вашего ответа. Благодарность!
Решено:
Спасибо Чипу Беннетту за отличную ссылку. Библиотека обновлений для тем теперь доступна на этом сайте. Вы можете найти его здесь: http://w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/
Всегда рассматривайте пожертвование, если вы видите отличную работу, которая предоставляется бесплатно.
theme-development
updates
Sisir
источник
источник
Ответы:
Вы также можете подключиться к процедуре обновления ядра. (Я ищу учебные ссылки, но мое Google-фу подводит меня сегодня утром.)
РЕДАКТИРОВАТЬ:
Посмотрите, поможет ли это руководство . В нем объясняется, как реализовать автоматическое обновление для частных / коммерческих (т.е. не размещаемых в репозитории) плагинов.
источник
pre_set_site_transient_update_plugins
pre_set_site_transient_update_plugins
запускает только активированную тему на основном сайте. все другие пользовательские обновления тем не будут проверяться, даже если это мультисайтовый сайт и активированы другие пользовательские темы на других сайтах.Интересный вопрос! На самом деле, я думаю, вы должны сделать сервис, чтобы проверить обновления! Например yourdomain.comn / api / update-check! Тогда это может вернуть XML или JSON или некоторую полезную информацию, связанную с обновлением, такую как версия, URL-адрес файла обновления (обновленный файл должен быть файлом zip)!
В вашей теме вы можете иметь:
Итак, когда вы обнаружили обновление URL выше (yourdomain.comn / api / update-check), предположим, что оно возвращает данные JSO следующим образом: {"version": "1.2", "file": "theme.zip"}
Вы сравниваете версию, чтобы проверить наличие новых обновлений! Затем переключитесь на тему по умолчанию с помощью этой функции http://codex.wordpress.org/Function_Reference/switch_theme (для того, чтобы пользователи, зашедшие на сайт, увидели работающий сайт)! Затем ваш код может использовать curl или даже file_get_contents для загрузки zip-файла (в данном случае theme.zip)! Затем вы удаляете все файлы в папке вашей темы, затем извлекаете zip-файл и копируете его содержимое в папку темы! Я думаю, что так должно работать!
Возможно, вы захотите взглянуть на то, что сделал WordPress! Я нашел это в файле wp-admin / includes / update-core.php, строка 288, функция update_core
источник