Можно ли свободно переименовать папку темы WordPress без технических последствий

22 окт. 2011 г., 14:42:03
Просмотры: 21.7K
Голосов: 12

Можно ли свободно переименовать папку темы WordPress в любое время и всё будет работать нормально после этого,

themes/oldthemename
themes/whatevernewname

или же при изменении имени папки, содержащей файлы темы, тема перестанет работать, поскольку имя папки темы как-то связано с файлами темы...

0
Все ответы на вопрос 5
0
11

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

При переименовании папки есть риск сломать код, который явно запрашивает файлы из директории темы по имени. WordPress предоставляет ряд функций, которые помогают избежать жесткой привязки к директории темы.

Используя эти функции, тема может избежать жесткой привязки к конкретной директории. Таким образом, если тема, для которой вы хотите переименовать папку, правильно использует указанные выше функции, то все должно работать нормально.

На всякий случай вы можете выполнить поиск (grep) по директории темы и проверить, не встречается ли её имя в JavaScript в виде жестко прописанного пути.

Однако вам придется повторно активировать тему в разделе Внешний вид > Темы.

Я только что проверил это на теме twentyten, и при входе в админку вы увидите:

Активная тема повреждена. Происходит возврат к теме по умолчанию.

Повторно активируйте тему и проверьте, работает ли она. twentyten работает, twentyeleven тоже.

То же самое относится и к плагинам.

На страницах Codex для функций wp_enqueue_style и wp_enqueue_script указано следующее:

Никогда не прописывайте URL локальных скриптов вручную. Используйте Function Reference/plugins_url (для плагинов) и Function Reference/get_template_directory_uri (для тем), чтобы получить корректный URL.

22 окт. 2011 г. 14:51:35
0

Если ваша тема использует встроенный механизм обновлений ядра (например, если тема была установлена из официального репозитория тем), то изменение имени папки установки темы может привести к тому, что система обновлений перестанет её распознавать. Это происходит потому, что механизм обновлений использует (в числе прочего) имя папки как часть алгоритма для определения уникальности темы.

Таким образом, если это ваш случай, изменение имени папки темы может нарушить автоматические обновления из репозитория.

22 окт. 2011 г. 17:11:09
0

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

22 окт. 2011 г. 16:22:16
0

@Soulseekah абсолютно прав! Если тема была создана правильно, у вас не будет проблем с изменением её названия (но затем её нужно будет переактивировать).

Почему бы вам просто не попробовать? В худшем случае вы сможете вернуть старое название... В 99% случаев это никак не повлияет на базу данных.

23 окт. 2011 г. 00:01:19
5
  1. 1. Нет, это вызовет ошибки и не будет работать, потому что WordPress хранит название темы в базе данных.
  2. Если вы используете абсолютные URL для изображений или ссылок в ваших страницах или записях, это вызовет ошибки или сломает пути к изображениям и ссылкам.
  3. Предположим, вы изменили название темы с 'X' на 'Y' на работающем сайте. Вы увидите, что ваш сайт будет работать некорректно.

Прежде чем делать что-то подобное, пожалуйста, ознакомьтесь с разработкой тем http://codex.wordpress.org/Theme_Development

22 окт. 2011 г. 14:52:20
Комментарии
  1. Директории тем не хранят загруженные изображения, ссылки на записи являются виртуальными запросами и не связаны с темами.
soulseekah soulseekah
22 окт. 2011 г. 15:00:06

Я имел в виду, что если вы вызываете изображение, которое хранится в themes/sampletheme/images/example.jpg, и затем меняете sampltheme на sampletheme123, то что произойдет. Изображение перестанет отображаться...

w3uiguru w3uiguru
22 окт. 2011 г. 15:02:57

Вам нужно вызывать его через get_stylesheet_directory_uri().'/images/example.jpg', тогда даже при смене домена или переносе WordPress в поддиректорию на сервере - изображение всегда будет доступно.

soulseekah soulseekah
22 окт. 2011 г. 15:12:19

Ваш пример верен, но мы же не можем добавлять теги шаблонов в редакторе. Или можем? Например <img src="get_stylesheet_directory_uri().'/images/example.jpg' />

w3uiguru w3uiguru
22 окт. 2011 г. 16:10:44

Зачем вообще вам может понадобиться вставлять изображения из директории шаблона в запись? Все вложения хранятся в папке uploads, директории шаблонов должны быть запретной зоной.

soulseekah soulseekah
22 окт. 2011 г. 16:13:21