scottb
  • 0
Гуру

Как применить несколько скинов к сайту с помощью селектора «шаблоны» с помощью переключения таблиц стилей?

  • 0

Я просто намочил ноги с шаблонами и у меня есть несколько вопросов.

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

В настоящее время я разрешаю изменять внешний вид сайта с помощью переключения таблиц стилей.

У меня просто есть папка под моей основной темой под названием «стили», а под ней у меня есть одна папка для каждого из моих «скинов». Внутри каждой папки скина находится style.css вместе с некоторыми изображениями.

Это работает следующим образом: я поместил некоторый код в файл header.php моей основной темы, чтобы он считывал значение текущего активного скина из базы данных параметров, а затем загружал таблицу стилей для этого скина вот так…

В приведенном выше примере активным скином является «skin1», поэтому я всегда загружаю…

«…митема/стили/». get_option(‘active_skin’) «style.css»

Это работает очень хорошо и позволяет мне разместить простой виджет переключения скинов (выпадающее меню с отображением эскизов) в моем файле function.php, чтобы пользователь-администратор мог легко переключаться между несколькими скинами, которые полностью меняют внешний вид сайта..

Прелесть этого подхода в том, что выбранная тема и базовая разметка остаются неизменными, поэтому я могу создавать различные стили, используя предсказуемую разметку. Что-то вроде дзен-сада CSS. Та же разметка, тысячи дизайнов. Все, что меняется, это таблица стилей и изображения.

Однако у этого подхода есть один недостаток (по крайней мере, для WordPress) — выбранный скин применяется ко всему сайту. Я не могу применить один скин к домашней странице и один скин к специальной странице, которая может нуждаться в совершенно другом внешнем виде.

Если бы был способ добавить некоторый код в каждую папку скина, чтобы он отображался в раскрывающемся меню «шаблоны» в редакторе страниц, я мог бы делать именно то, что хочу.

Это возможно?

Share
  1. Конечно, это возможно. Быстрым способом было бы добавить настраиваемое поле в postmeta (в области «Пользовательские поля» страницы «Редактировать запись/Редактировать страницу») и в вашей теме получить значение с помощью get_post_meta().

    Чуть менее быстрый способ — добавить обертку к этому значению настраиваемого поля, поместив селектор темы в мета-поле сообщения.

    • 0
  2. Я просто просматривал автообнаружение шаблона страницы для другого вопроса, и оказалось, что WordPress явно запрещает файлы шаблонов в подкаталогах. Вам придется пойти другим путем, например, использовать настраиваемые поля, как предложил gabrielk, или предоставить пользовательский интерфейс для тех же мета-полей, используя настраиваемые мета-поля администратора.

    • 0

Оставить ответ

You must login to add an answer.