Тема автообновления не размещена в репозитории Wordpress - PullRequest
1 голос
/ 12 мая 2011

Как сделать Wordpress Theme частью проверки автоматического обновления.Я знаю, что вы можете подключиться к автообновлению плагина, чтобы добавить / удалить плагины из автообновления, но как вы делаете это с темами?

Я пробовал копаться в теме Twenty Ten, но неткод в любом месте, который определяет, как он автоматически обновляется, или регистрирует его для автоматического обновления.Тем не менее, он автоматически обновляется с Wordpress.

Любая помощь будет принята с благодарностью.

РЕДАКТИРОВАТЬ: Если бы указано, моя тема не находится в хранилище Wordpress.Он будет распространяться отдельно.

Ответы [ 4 ]

2 голосов
/ 08 августа 2011

Крюк в pre_set_site_transient_update_themes

1 голос
/ 12 мая 2011

Поскольку ваша тема не находится в репозитории Wordpress, простая методология - включить доступ к файлам в вашу тему.Быстрый способ сделать это:

  1. Включение контроля версий в основной файл вашей темы.Создайте файл «version.php» с переменной PHP, например version = 1.1
  2. Создайте каталог, в котором файлы вашей темы будут размещаться на вашем собственном сайте.Создайте файл «version.txt» в этом каталоге, который содержит только последний номер версии (т. Е. 1.2) и не содержит никакого другого текста или цифр.URL-адрес может выглядеть следующим образом: domain.com/repository/version.txt.
  3. Создайте свою тему, чтобы открыть содержимое domain.com/repository/version.txt, и используйте PHP для сравнения номеров каждого,Если имеется более новая версия, загрузите последнюю версию темы в формате ZIP.

    $version = floatval(file_get_contents('domain.com/repository/version.txt')); // note use only 1 decimal to keep it simple and prevent floatval() from failing

    if($version > $localversion) {<br> copy("domain.com/repository/version".$version.".zip","theme/tmp/version_temp.zip");<br> $zip = new ZipArchive;<br> $res = $zip->open("theme/tmp/version_temp.zip");<br> if ($res === TRUE) {<br> $zip->extractTo("theme");<br> $zip->close(); echo 'ok';<br> } else {<br> echo 'failed'; } }

YouВам нужно будет взять этот код, доработать его и учесть права доступа к файлам и то, что работает лучше всего для производительности.

0 голосов
/ 15 июля 2013

Существует коммерческий менеджер API обновлений плагинов и тем для WooCommerce, который специально работает, если плагин или тема не размещены на wordpress.org.Он предназначен для предоставления обновлений для собственных плагинов и тем.

http://www.toddlahman.com/shop/wordpress-automatic-update-api-manager/

0 голосов
/ 12 мая 2011

Обновление API разделено на три части: ядро, плагины и темы. Все они размещены на wp.org, и само существование вашего плагина / темы в репозитории WP делает его автоматически обновляемым без какой-либо строки кода, кроме стандартных заголовков плагина / темы и файлов readme.txt.

...