Как сделать разные темы на разных страницах WordPress?
Как сделать на другой странице сайта другую тему. Даже не тему а просто нужно убрать пару блоков, но что бы на главной странице они остались. А то я на левой странице удалил блоки, а они и на главной пропали. Заранее спасибо
Дополнительно:
Ответы:
Вставьте в этот код те блоки которые должны быть только на главной странице
<?php if ( is_home() || is_front_page() ) : ?> <div id="hero" class="inner clearfix"> ... </div> <?php endif ?> |
<?php if ( is_home() || is_front_page() ) : ?> <div id="hero" class="inner clearfix"> ... </div> <?php endif ?>
Это делается и с помощью шаблонов.
Хотя многие современные темы это позволяют делать из админки.
ЗЫ. Если под "блоками" имеется ввиду разметка макета
- О да, я уже сделал именно так. Спасибо
Здравствуйте, для этого в Вордпрессе есть такой инструмент как Шаблон страницы.
Вы можете создать файл page-custom.php, скопировать туда содержимое файла page.php или index.php и в начале файла добавить следующую строку <?php //Template Name: Мой новый шаблон ?>
Теперь при редактировании любой страницы -- у вас будет возможность назначить Мой новый шаблон. После того, как вы назначили новый шаблон нужным страницам -- вы можете поменять содержимое page-custom.php и оно коснется только страниц с указанным шаблоном.
Вместо page-custom.php может быть любое имя php-файла, вся соль в первой строке
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос


Если нужно убрать пару блоков только на одной странице или оставить их только на главной, отдельную тему для этого делать не нужно. В WordPress есть условные теги и шаблоны страниц. Самый простой вариант — обернуть нужный блок в условие.
Показывать блок только на главной:
<?php if (is_front_page()) : ?> <section class="home-only-block"> ... </section> <?php endif; ?>
Скрыть блок на конкретной странице:
<?php if (!is_page('kontakty')) : ?> <section class="some-block"> ... </section> <?php endif; ?>
Можно проверять страницу по ID:
if (!is_page(123)) { // вывод блока }
Если блоки редактируются в админке через конструктор, то обычно проблема в том, что вы редактируете глобальный шаблон, а не конкретную страницу. Например, header/footer, template part, секция из библиотеки или общий layout могут применяться ко всем страницам. В таком случае нужно не удалять блок из глобального шаблона, а создать отдельный шаблон для нужной страницы или отключить секцию условиями отображения.
Для нормальной поддержки лучше выбрать один из вариантов:
Не ставьте разные WordPress-темы для разных страниц без крайней необходимости. Это усложняет стили, меню, виджеты, скорость и поддержку. В 99% случаев достаточно шаблона страницы или условий.