Запрет вывода (рекламы) на определенной странице

Для отображения раздела "Ссылки" только на одной (главной) странице у меня в сайдбаре используется такая конструкция:

<?php if (is_home()) { ?>
<h2><?php _e('Links'); ?></h2>                    
<ul>
<?php get_links('-1', '<li>', '</li>', '', 0, 'name', 0, 0, -1, 0); ?>
<?php } ?>
</ul>

Как решить обратную задачу – запретить вывод (в моем случае рекламы AdSense в сайдбаре) на одной странице?

Если я правильно понял термсы AdSense, запрещена установка кода рекламного блока на странице 404.
Сам этот код предполагается просто вставить в общий для всех страниц sidebar.php.
Однако этот же сайдбар подключается и в файле 404.php.
Можно наверное добавить какой-нибудь sidebar404.php без рекламного кода и использовать его для шаблона 404, но может существует более элегантное решение? :rolleyes:

написать для соответсвующего блока в сайдбаре код типа

<?php if (is_404()) { ?> 

тут вставить html-код того что будет выводится вместо рекламы на 404 странице

<?php } else { ?>

тут вставить код вывода рекламы

<?php } ?>

Mixa, спасибо, работает!

Вылез дополнительный вопрос – как запретить вывод на двух страницах (404 и Контакты)?

Сделал шаблон contact.php на основе page.php
Заменил дефолтный шаблон страницы Контакты на Contact.
Прописал в сайдбаре:

<?php if (is_404() || (is_contact()) { ?> 
<?php } else { ?>
код вывода рекламы
<?php } ?>

Ругается на первую строчку этого кода 🙁

Чтобы использовать is_contact(), нужно подключить к php расширение искусственного интеллекта 😀 За неимением оного нужно проверять is_page(‘N’), где N – ID страницы контактов.

Справка: http://codex.wordpress.org/Conditional_Tags

Спасибо, Юрий! 🙂

нужно проверять is_page('N'), где N - ID страницы контактов.

Вставил так:

<?php if (is_404() || (is_page('29')) { ?>
<?php } else { ?>
код вывода рекламы
<?php } ?>

Ругается:

Parse error: syntax error, unexpected '{'

Безграмотен я в языках программирования, надо учить синтаксис 🙁

<?php if ( is_404() || is_page(’29’) ) { ?>

Скобки – вещь сурьезная!

Юрий, спасибо за помощь и Вашу выдержку 🙂

Anonymous
Отправить
Ответ на: