Поддержка Проблемы и решения Отражение меню в зависимости от страницы

  • Как сделать так, чтобы пункты меню отражались только на страницах, а в записях – нет?

    Как нужно перезаписать? Или не в записях дело?

    Спасибо

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Не могу отпостить блоком записи из файла, так письмо их урывками показывает

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    1. Можно обернуть пункты меню условием:

    <?php if ( is_page() ) : ?> ... <?php endif; ?>

    2. Расскажите подробнее. Все слова по отдельности понятны, но суть проблемы ускользает.

    ОК, Сергей.

    Предполагается, что на моём сайте будет 4 страницы. При этом я хочу, чтобы входной была одна: 1-я («записи»). И соответственно она НЕ ДОЛЖНА содержать каких либо ссылок, внешних или внутренних. Я даже сайдбар поотключал, кроме одного. И тот НЕ содержит гиперссылок. И адрес этой «записи» соответствует основному имени сайта http://www.сайт.ru/

    Доступ на остальные чел получает, если сочтёт содержание 1-й «записи» интересным для себя, т.е. после того, как свяжется со мной, я его переадресую на другие страницы.

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

    Вот какая запись у меня в файле Header, касаемая меню:

    </div>
    
    <div id="menu">
    <ul>
    	<li class="emphasis"><a href="<?php echo get_settings('home'); ?>">Home</a></li>
    		<?php wp_list_pages('title_li=&amp;depth=1'); ?>
    
    	</ul>
    </div>

    Вопрос: какую запись, в какой файл и куда надо внести, чтобы данная задумка работала?

    Первую страницу вы можете нарисовать в HTML совершенно отдельно и положить ее в тему под именем home.php. Как-то так…

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

    Подскажите, плиз, какое можно сформулировать условие и в каком файле, чтобы меню отображалось только бы на «страницах» и отсутствовало бы в «записях»?

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Если написать:

    <?php if ( !is_page('ID, ярлык или заголовок страницы') ) : ?>
    <div id="menu">
    <ul>
    	<li class="emphasis"><a href="<?php echo get_settings('home'); ?>">Home</a></li>
    		<?php wp_list_pages('title_li=&amp;depth=1'); ?>
    
    	</ul>
    </div>
    <?php endif; ?>

    — меню будет на всех страницах, кроме указанной в условии.

    Сергей, сайт ругнулся фразой

    Parse error: syntax error, unexpected $end in …/header.php on line 44

    line 44 — это <div id=»menu»>

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Сорри, забыл endif в последней строчке. Добавил.

    Сергей, всё добавил, но меню как было на всех страницах, так и осталось. Ещё раз напомню, что исключаемая страница относится не к «страницам», а к «записям». Может ли это иметь зачение?

    Ривизия. сейчас в header.php такой порядок записей:

    </div>
    
    <?php if ( !is_page('4REALMAN') ) : ?>
    <div id="menu">
    <ul>
    	<li class="emphasis"><a href="<?php echo get_settings('home'); ?>">Home</a></li>
    		<?php wp_list_pages('title_li=&amp;depth=1'); ?>
    
    	</ul>
    </div>
    <?php endif; ?>
    
    <!--header.php end-->

    В качестве названия я вставил название страницы, которое видно слева сверху рядом со значком «е» — интернета. Хотелось бы в добавок спросить, как бы в файле отразились ID или ярлык для этой страницы? Чтоб знать.

    Непонятно, где сбой

    Что можно ещё предпринять для решения задачи?

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    1. Тогда вместо is_page() нужно использовать is_single().
    2. Ярлык — это часть адреса (если используются постоянные ссылки). Например, site.ru/about. Идентификатор можно посмотреть в адресной строке при редактировании страницы или записи.

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Тема «Отражение меню в зависимости от страницы» закрыта для новых ответов.