@Cepesh16

Официальные темы wordpress имеют одинаковую структуру? Как создать совместимую?

Задача создать тему которую можно будет переключать на другие темы.

Изначально я просто на bootstrap4 сделал верстку. Потом создал папку темы и с нуля создал файлы index.php, header.php, functions... и просто в файлы index,header,footer разбил всю верстку. Затем для кнопок и текста добавил произвольных полей с помощью customizer выводя их через "get_theme_mode" в свою верстку.

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

Когда я переключился на другую тему, у меня ничего не было на странице кроме меню. Оно и понятно, все произвольные поля я делал в файле funcitonsкоторый доступен только моей теме. Из этого я понял что тему нужно строить по другому, по каким-то правилам.

Погуглив пару дней, нашел _s (underscores) как я понял это какая-то базовая заготовка для тем, которая повторяет основную структуру большинства тем (может ошибаюсь). Если я построю тему на основе этой заготовки она будет работать на других темах?

Как правильно делать тему чтобы ее можно было потом сменить на другую?
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
Не нужен Вам underscores! Можно конечно скачать, посмотреть структуру, но не более.
Ваша проблема в том, что используются произвольные поля, а в других темах не сделан их вывод, т.е. в базе они есть, а вывода нет.
Поэтому тут вопрос именно в этом, хотите чтобы в любой теме работало, не используйте произвольные поля! Если нужно использовать произвольные поля, то делайте плагин который с ними будет работать, таким образом php-код будет не в functions.php, а в плагине. И какую бы тему Вы не выбрали это будет работать. Но шаблон ИМХО все равно надо будет править.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
OtshelnikFm
@OtshelnikFm Куратор тега WordPress
Обо мне расскажет yawncato.com
Объясните - зачем вы хотите настройки одной темы (с одним дизом) переносить в другую?

Если вы через get_theme_mode получали контакты фирмы и т.п. - то эти контакты будут работать только в вашей теме, но никакой в другой (ну или пока вы руками код темы не поправите).

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

А если вам надо универсальное решение то:
1. пишите плагин - выводите шорткодами и виджетами.
2. или пишите под самый популярный пейдж болдер и навязывайте всем его.
В первом случае - вам придется вставлять виджет или шорткод иногда в нужное место костылями - это не универсально
Во втором случае вам придется всех подсаживать на УГ под названием элементор и прочие билдеры. Это тоже не есть хорошо.

Так для какой задачи вам нужно это универсальное решение?
Я бы и get_theme_mode не использовал если это продакшен сайт - все бы в его теме прописал чтоб не гонять байты в объектный кеш
Ответ написан
Комментировать
tuxfighter
@tuxfighter
троль
Если я построю тему на основе этой заготовки она будет работать на других темах?

Вопрос не понятен от слова "совсем". Как может "работать" отключенная тема??

Как правильно делать тему чтобы ее можно было потом сменить на другую?

Любую тему можно в любой момент сменить на другую.

А правильно делать так: выкинуть из головы этот велосипедно-костыльный бред и подобрать тему из оф. каталога
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы