Как вывести код, информацию, виджет только на главной странице

Здравствуйте, многие думаю сталкивались с проблемой – как вывести код или информацию только на главной странице сайта.

Без использования плагина данную проблему можно решить следующим образом.

Чтобы спрятать необходимый код, скрипт, информацию, виджет и т.д. с главной страницы сайта, нам нужно обернуть их в следующий код:

 

<?php if ($_SERVER["REQUEST_URI"] == '/') { ?>

Код, информация, виджет и т.п., которые нужно скрыть.

<?php } else {?> <?php } ?>

 

Как видите это простое логическое условие – “если страница главная то.., иначе следующее…” (if … else …)

Пример 1.
На главной странице моего сайта расположена информация, прочитав которую, вы узнаете о чем я здесь пишу:

“Здравствуйте, приветствую вас на сайте Mnogoblog.ru

В мире более 60 миллионов человек выбрали WordPress!”

Так вот ее я и поместил в вышеуказанные теги.

А после идет перечисление последних статей моего сайта в хронологическом порядке.

И если вы нажмете на ссылке “Предыдущие статьи”, то информацию о сайте вы уже не увидите.

Чтобы реализовать данную функцию изменения я вносил в файл index.php моего сайта, который отвечает за отображение главной страницы.

 

Пример 2.

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

Поэтому, мне пришлось залезть в код файла footer.php (отвечающий за подвал) и изменить в нем код вывода данного виджета, следующим образом:

<div id="footer">

  <!--recent comments start -->
  <div class="footer-recent-posts">
<?php if ($_SERVER["REQUEST_URI"] == '/') { ?>
<h4>:)</h4>
<?php } else {?> 
    <h4>Последние статьи</h4>
  	<?php query_posts('showposts=3'); ?>
	<ul>
	<?php while (have_posts()) : the_post(); ?>
	<li>
	<strong><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php _e('Permanent link to'); ?> <?php the_title(); ?>"><?php the_title(); ?></a></strong><br />
	<small><?php the_time('d-m-Y') ?></small>
	</li>
	<?php endwhile;?>
	</ul>
<?php } ?>
  </div>
  <!--recent comments start -->

То есть если страница главная, то отображается смайлик – :), а если нет, то виджет “Последние записи”.

 

PS: Вышеуказанный код можно использовать также для вывода информации на определенной странице, категории, записи, для этого достаточно вместо “/” указать url нужной страницы, записи, категории и пр., например:

<?php if ($_SERVER["REQUEST_URI"] == '/?p=15') { ?>

Код, информация, виджет и т.п., которые нужно скрыть.

<?php } else {?> <?php } ?>

То есть информация будет показана для записи с url: http://ваш домен/?p=15

Как вывести код, информацию, виджет только на главной странице: 3 комментария

  1. Светлана

    Здравствуйте! Спасибо за код. Что надо дописать в коде, чтобы в разделе “последние статьи” выходили не только записи, но и страницы? Я, наконец-то, поняла про рубрики (спасибо) и теперь мне нужно часть страниц перенести в записи рубрик. И метки также – в страницах их нет, только в записях рубрик. Спасибо

  2. Руслан

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

  3. Руслан

    а вот как сделать чтобы определенная информация отображалась только в статьях? например реклама которая не будет отображаться на главной и вообще ни где, кроме как в статьях?

Добавить комментарий