Создание функционала уведомлений об обновлениях для моих тем
Вопрос простой :) Я создаю тему, которую буду использовать на множестве сайтов. И не хочу каждый раз при исправлении багов или обновлении темы заходить на каждый сайт и загружать файлы по FTP.
Существует ли способ реализовать систему обновлений, подобную той, что используется для плагинов из официального репозитория WordPress?
С нетерпением жду ваших ответов. Спасибо!
Решение:
Спасибо Chip Bennett за отличную ссылку. Библиотека для обновления тем теперь доступна на этом сайте. Вы можете найти её здесь: http://w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/
Всегда рассматривайте возможность пожертвования, если видите отличную работу, сделанную доступной бесплатно.

Вы также можете подключиться к основной процедуре обновления. (Я ищу ссылки на руководства, но сегодня мой поисковый навык подводит.)
РЕДАКТИРОВАНО:
Посмотрите, поможет ли это руководство. В нем объясняется, как реализовать автоматические обновления для приватных/коммерческих плагинов (т.е. не размещённых в официальном репозитории).

Спасибо! Я изучил вашу ссылку, но код плагина не сработал. Тогда я попросил автора модифицировать библиотеку для тем, и через пару дней он сделал это! Теперь всё работает отлично! Я добавлю ссылку в свой вопрос. Спасибо!!

Вот руководство по автоматическому обновлению тем с того же сайта: http://w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/

Интересный вопрос! На самом деле, я считаю, что вам стоит создать сервис для проверки обновлений! Например, yourdomain.com/api/update-check! Этот сервис может возвращать XML, JSON или другую полезную информацию об обновлении, такую как версия, URL файла обновления (обновляемый файл должен быть в формате ZIP)!
В вашей теме вы можете использовать:
<?php define('OWN_THEME_VERSION', '1.1');
Когда вы обнаружите обновление по указанному URL (yourdomain.com/api/update-check), предположим, он возвращает JSON-данные следующего вида:
{"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

По сути то же самое, но вместо использования curl или file_get используйте WordPress HTTP API, http://codex.wordpress.org/HTTP_API

наконец-то появилось время начать исследование по этому вопросу! Для текущей версии темы я могу использовать эту функцию http://codex.wordpress.org/Function_Reference/get_theme_data . Я начну работать с подходом, который вы указали.
