Удаление рекурсивной ссылки с главной на главную
-
В общем нашел способ убрать ссылку в меню с главной страницы на главную страницу:
<?php if(!is_front_page() || is_paged()) echo "<a href="http://yoursite.net/" title="Перейти на главную страницу">YourSite.net</a>"; else echo "YourSite.net"; ?>Так вот не работает. Отображается и на главной и не на главной… Может тут с синтаксисом что-то не то?
-
Попробуйте is_home() вместо is_front_page() если у вас не статическая страница на главной.
<?php if( !is_home() ) echo "YourSite.net"; // ссылка else echo "YourSite.net"; // не ссылка ?>Пробовал… тоже не работает. Мне кажется, я все таки куда-то не туда пытаюсь этот код вставить… а именно я пытаюсь вставить в меню вида:
<br /><div id="nav"> <div class="menu-glavnoe-menyu-container"><ul id="menu-glavnoe-menyu" class="menu"> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"><a title="Главная страница" href="http://site.ru/">Главная</a></li> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"><a title="Форум" href="http://forum.site.ru/">Форум</a></li> <noindex> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"><a rel="nofollow" title="Подписывайтесь на наш Twitter" href="https://twitter.com/site">Twitter</a></li> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"><a rel="nofollow" title="Наш RSS канал" href="http://site.ru/feed/">RSS</a></li> </noindex> </ul></div> </div>Это не совсем меню… я в место для рекламы вручную вставил код, скопированный из меню (приведен выше), т.е. оно через админку wordpress не редактируется.
<?php if( !is_home() ) echo '<a href="http://yoursite.net/" title="Перейти на главную страницу">YourSite.net</a>'; else echo 'YourSite.net'; ?>C кавычками намудрили. Попробуйте сейчас.
Если вышеприведенный код просто вставить… выводит в меню на всех страницах:
YourSite.net’; else echo ‘YourSite.net’; ?>
Т.е. не совсем то…
Куда вы его вставляете? Обратите внимание, на то, что он обернут в php теги.
Так вот в том то и дело, что судя по всему не туда)) Я строитель, не программист совсем.
Пробовал так:
<br /><div id="nav"> <div class="menu-glavnoe-menyu-container"><ul id="menu-glavnoe-menyu" class="menu"> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"><a title="Главная страница" href="http://site.ru/">Главная</a></li> <?php if( !is_home() ) echo '<a href="http://yoursite.net/" title="Перейти на главную страницу">YourSite.net</a>'; else echo 'YourSite.net'; ?> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"><a title="Форум" href="http://forum.site.ru/">Форум</a></li> <noindex> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"><a rel="nofollow" title="Подписывайтесь на наш Twitter" href="https://twitter.com/site">Twitter</a></li> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"><a rel="nofollow" title="Наш RSS канал" href="http://site.ru/feed/">RSS</a></li> </noindex> </ul></div> </div>Пробовал так:
<br /><div id="nav"> <div class="menu-glavnoe-menyu-container"><ul id="menu-glavnoe-menyu" class="menu"> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"><a title="Главная страница - строительство и ремонт частных домов" href="http://housejournal.ru/">Главная</a></li> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"><?php if( !is_home() ) echo '<a href="http://yoursite.net/" title="Перейти на главную страницу">YourSite.net</a>'; else echo 'YourSite.net'; ?></li> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"><a title="Форум о строительстве и ремонте частных домов" href="http://forum.housejournal.ru/">Форум</a></li> <noindex> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"><a rel="nofollow" title="Подписывайтесь на наш Twitter" href="https://twitter.com/HouseJournal">Twitter</a></li> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"><a rel="nofollow" title="Наш RSS канал" href="http://housejournal.ru/feed/">RSS</a></li> </noindex> </ul></div> </div>Существующее меню даже не менял пока, вставлял в центре его новый код в качестве эксперимента.
В файле header.php рекламный блок, в котором я редактирую меню вставляется следующим кодом:
<?php if (max_magazine_get_option( 'ad468' )) {?> <div class="ad468"> <?php echo max_magazine_get_option( 'ad468' ); ?> </div> <?php } ?>Вот пример для вашего меню:
<li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"> <?php if( ! is_home() ) echo '<a title="Главная страница" href="http://site.ru/">Главная</a>'; else echo 'Главная'; ?> </li>dikiy_forester, при вставке такого кода получается вывод такого текста
Главная’; else echo ‘Главная’; ?>
на каждой странице — без разницы главная не главная… ну и без активной ссылки везде.
Я не совсем понял, что вы делаете с эти кодом?
<?php if (max_magazine_get_option( 'ad468' )) {?> <div class="ad468"> <?php echo max_magazine_get_option( 'ad468' ); ?> </div> <?php } ?>Вы в него вставляете код меню? Как эти два куска кода связаны у вас?
В шаблоне max magazine реализован вывод рекламного баннера в шапке сайта. Это место я посчитал наиболее подходящим для меню и скопировал код меню туда. Код для рекламного места редактируется из настроек шаблона в админке.
Вот этой строчкой
<?php echo max_magazine_get_option( 'ad468' ); ?>
я так понимаю код рекламного места со вставленным в него меню вызывается из файла header.php.А сам код меню у вас хранится в настройках темы? В этом случае php код будет экранирован и вы получите то что вы уже видели.
Сделайте так:
в файле header.php
это:<?php if (max_magazine_get_option( 'ad468' )) {?> <div class="ad468"> <?php echo max_magazine_get_option( 'ad468' ); ?> </div> <?php } ?>замените на это:
<div class="ad468"> <div id="nav"> <div class="menu-glavnoe-menyu-container"><ul id="menu-glavnoe-menyu" class="menu"> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"> <?php if( ! is_home() ) echo '<a title="Главная страница" href="http://site.ru/">Главная</a>'; else echo 'Главная'; ?> </li> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"><a title="Форум" href="http://forum.site.ru/">Форум</a></li> <noindex> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"><a rel="nofollow" title="Подписывайтесь на наш Twitter" href="https://twitter.com/site">Twitter</a></li> <li id="menu-item-40" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-40"><a rel="nofollow" title="Наш RSS канал" href="http://site.ru/feed/">RSS</a></li> </noindex> </ul></div> </div> </div>А вообще, не стоит вносить изменения в чужие темы и WP.
Сделайте дочернюю тему и меняйте основную тему так, как вам нужно.
В данном случае это актуально.
После вставки вышеприведенного кода в header.php получилось очень близко к желаемому. На главной странице действительно теперь ссылки нет, а только текст. Но текст почему-то другой по стилю и смещенный относительно остальных пунктов. Не знаете, как это победить?
Выглядит сейчас это так: http://clip2net.com/s/2PsEG
dikiy_forester, в любом случае ОГРОМНОЕ спасибо! Даже, если вообще текст «Главная» с главной убрать — потеря не большая. Единственное, что меню разного размера на разных страницах будет.
Это потому, что стили применяемые для ссылок меню не работают для простого текста.
Сделайте вот что:
вместо
echo 'Главная';вставьте
echo '<span class="menu-item-main">Главная</span>';Этим вы обернули слово «Главная» в тэг <span> и назначили ему класс «menu-item-main»
Теперь вам нужно найти все стили применяемые для ссылок в этом меню и назначить их для класса «menu-item-main».
В общем виде это так.
Тема «Удаление рекурсивной ссылки с главной на главную» закрыта для новых ответов.