Для отображения раздела "Ссылки" только на одной (главной) странице у меня в сайдбаре используется такая конструкция:
<?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:
написать для соответсвующего блока в сайдбаре код типа
Mixa, спасибо, работает!
Вылез дополнительный вопрос – как запретить вывод на двух страницах (404 и Контакты)?
Сделал шаблон contact.php на основе page.php
Заменил дефолтный шаблон страницы Контакты на Contact.
Прописал в сайдбаре:
Ругается на первую строчку этого кода 🙁
Чтобы использовать is_contact(), нужно подключить к php расширение искусственного интеллекта 😀 За неимением оного нужно проверять is_page(‘N’), где N – ID страницы контактов.
Справка: http://codex.wordpress.org/Conditional_Tags
Спасибо, Юрий! 🙂
Вставил так:
Ругается:
Безграмотен я в языках программирования, надо учить синтаксис 🙁
<?php if ( is_404() || is_page(’29’) ) { ?>
Скобки – вещь сурьезная!
Юрий, спасибо за помощь и Вашу выдержку 🙂