Как в wordpress вывести только на главной

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

Поскольку я всюду использую WordPress, то собственно расписываю для него.

Ссылку придется втыкать сразу в исходники темы, ибо если захочется интегрировать её в блоки сайдбара, то придется доставлять какой нить плагин для запуска кода php из элементов, вроде PHP Code Widget.

Поэтому открываем админку блога WordPress -> Appearance -> Editor и далее док куда будем интегрировать. Я предпочитаю вставлять в шапку sidebar.php или можно сунуть под хедер, но там человеческая интеграция уже потребует более вдумчивого внедрения кода.

Собственно код выглядит следующим образом:

<?php
if (is_front_page() ) {  // что выводить на морде сайта
echo(‘Текст на морде’);
} else {
   echo(‘ТИПО_ПУСТО’); // что выводить на остальных страницах
}
?>

в сегмент заглавной, можно спокойно интегрировать и HTML тэги, т.е к примеру так

<?php
if (is_front_page() ) {  
echo(‘
<H1>РЕКЛАМА</H1>
<p>Тут рекламим нужную нам запись</p>
‘);
} else {
   echo(”);
}
?>

В данном примере на остальных страницах сайта, кроме заглавной, не будет ничего выводиться по определению.

Также можно выводить и для любой другой страницы или страниц, с использованием оператора is_page(‘N’), где N – это ID страницы, который можно посмотреть в списке постов по его бесусловному адресу, который можно просмотреть из списка всех страниц или постов. При наведении курсора на Preview или Edit адрес будет как раз с использование ID записи, вида _http://site/wp-admin/post.php?post=N&action=edit

Но это уже другая история…

3 Комментариев

  1. Валдис сказал:

    Спасибо, после echo поставил нужный мне do_shortcode и всё заработало!

    [Reply]

  2. Виталий сказал:

    Нашел вашу статью через Гугл. У меня проблема. На одном из моих сайтов в качестве H1 использую логотип. задача: нужно выводить H1 только на главной, а на всех остальных страницах – не выводить. Немного запутался, если чесно. Пробовал много вариантов за сегодня. Попал на ваш – и тоже не работает. Не могу понять, что не так.

    [Reply]

    anchous Reply:

    этот вариант рабочий, почему он не работает у вас – это уже отдельный вопрос – либо пых не отрабатывает как надо, либо куда то не туда вставляете

    [Reply]

Оставить комментарий