Как сделать разные темы на разных страницах WordPress?

Ссылка скопирована
1 ответ

Как сделать на другой странице сайта другую тему. Даже не тему а просто нужно убрать пару блоков, но что бы на главной странице они остались. А то я на левой странице удалил блоки, а они и на главной пропали. Заранее спасибо

Дополнительно:

Ответы:

Вставьте в этот код те блоки которые должны быть только на главной странице

<?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 ?>

Это делается и с помощью шаблонов.
Хотя многие современные темы это позволяют делать из админки.

Как сделать разные темы на разных страницах Wordpress?

ЗЫ. Если под "блоками" имеется ввиду разметка макета

  • О да, я уже сделал именно так. Спасибо

Как сделать разные темы на разных страницах Wordpress?

Здравствуйте, для этого в Вордпрессе есть такой инструмент как Шаблон страницы.
Вы можете создать файл page-custom.php, скопировать туда содержимое файла page.php или index.php и в начале файла добавить следующую строку <?php //Template Name: Мой новый шаблон ?>

Теперь при редактировании любой страницы -- у вас будет возможность назначить Мой новый шаблон. После того, как вы назначили новый шаблон нужным страницам -- вы можете поменять содержимое page-custom.php и оно коснется только страниц с указанным шаблоном.

Вместо page-custom.php может быть любое имя php-файла, вся соль в первой строке

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Мария Код Ответ

Если нужно убрать пару блоков только на одной странице или оставить их только на главной, отдельную тему для этого делать не нужно. В WordPress есть условные теги и шаблоны страниц. Самый простой вариант — обернуть нужный блок в условие.

Показывать блок только на главной:

&lt;?php if (is_front_page()) : ?&gt;
  &lt;section class="home-only-block"&gt;
    ...
  &lt;/section&gt;
&lt;?php endif; ?&gt;

&lt;?php if (is_front_page()) : ?&gt; &lt;section class="home-only-block"&gt; ... &lt;/section&gt; &lt;?php endif; ?&gt;

Скрыть блок на конкретной странице:

&lt;?php if (!is_page('kontakty')) : ?&gt;
  &lt;section class="some-block"&gt;
    ...
  &lt;/section&gt;
&lt;?php endif; ?&gt;

&lt;?php if (!is_page('kontakty')) : ?&gt; &lt;section class="some-block"&gt; ... &lt;/section&gt; &lt;?php endif; ?&gt;

Можно проверять страницу по ID:

if (!is_page(123)) {
    // вывод блока
}

if (!is_page(123)) { // вывод блока }

Если блоки редактируются в админке через конструктор, то обычно проблема в том, что вы редактируете глобальный шаблон, а не конкретную страницу. Например, header/footer, template part, секция из библиотеки или общий layout могут применяться ко всем страницам. В таком случае нужно не удалять блок из глобального шаблона, а создать отдельный шаблон для нужной страницы или отключить секцию условиями отображения.

Для нормальной поддержки лучше выбрать один из вариантов:

  • если отличие маленькое — условные теги в шаблоне;
  • если страница сильно отличается — отдельный шаблон страницы;
  • если сайт на конструкторе — условия отображения/разные шаблоны в конструкторе.

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

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно