Условный тег: is_page
Тег проверяет вывод статической страницы. Этот условный тег является boolean-функцией, то есть он возвращает только true или false.
<?php if ( is_page($page) ) { ... } ?> |
<?php if ( is_page($page) ) { ... } ?>
$page
(строка) (необязательный) - ID, название или ярлык страницы (или массив из них).
По умолчанию значения нет.
boolean
Возвращает true при выводе статической страницы и false в противном случае.
1 Проверка на вывод статической страницы
<?php if( is_page() ) echo "Это статическая страница"; else echo "Это не статическая страница"; ?> |
<?php if( is_page() ) echo "Это статическая страница"; else echo "Это не статическая страница"; ?>
2 Использование параметра $page
<?php if ( is_page('about') ) // где 'about' это название или ярлык страницы echo "Это страница 'about'"; elseif ( is_page('12') ) // где '12' это ID, название или ярлык страницы echo "Это страница '12'"; else if (is_page()) echo "Это статическая страница"; ?> |
<?php if ( is_page('about') ) // где 'about' это название или ярлык страницы echo "Это страница 'about'"; elseif ( is_page('12') ) // где '12' это ID, название или ярлык страницы echo "Это страница '12'"; else if (is_page()) echo "Это статическая страница"; ?>
3 Использование массива параметров $page
В массиве можно указывать ID, название или ярлык статической страницы. Каждое введеное значение будет проверено по всем трем категориям (если вы укажите '1', то функция проверит страницу с ID равным '1', затем страницу с названием '1' и затем страницу с ярлыком '1').
<?php if( is_page(array('12','about','Карта сайта','da-da')) ) echo "Статическая страница с указанными данными"; else if( is_page() ) echo "Любая другая статическая страница"; ?> |
<?php if( is_page(array('12','about','Карта сайта','da-da')) ) echo "Статическая страница с указанными данными"; else if( is_page() ) echo "Любая другая статическая страница"; ?>
Условный тег is_singular так же включает в себя проверку на вывод статической страницы.
При использовании пустых значений тег всегда будет возвращать true.
Нельзя использовать тег внутри цикла вывода записей, а при использовании после него необходимо сбросить цикл функцией [[wp_reset_query]].
Функция добавлена в версии 1.5.0
Возможность использования массива была добавлена в версии 2.5.0
Функция is_page() находится в wp-includes/query.php
Условные теги: comments_open, current_user_can, is_404, is_admin, is_archive, is_attachment, is_author, is_category, is_comments_popup, is_date, is_day, is_feed, is_front_page, is_home, is_local_attachment, is_multi_author, is_month, is_new_day, is_page, is_page_template, is_paged, is_plugin_active, is_plugin_active_for_network, is_plugin_inactive, is_plugin_page, is_post_type_archive, is_preview, is_search, is_single, is_singular, is_ssl, is_sticky, is_tag, is_tax, is_year, in_category, in_the_loop, is_active_sidebar, is_blog_installed, is_rtl, is_dynamic_sidebar, is_user_logged_in, has_excerpt, has_post_thumbnail, has_tag, pings_open, email_exists, post_password_required, post_type_exists, taxonomy_exists, user_can, username_exists, wp_attachment_is_image
Понравился пост? Подпишись на обновления по RSS или Twitter !
#1,
Здравствуйте!
А как сделать так, чтобы echo цепляло контент из определенной страницы id.
Например, есть Contact Form 7 на страницы id=7 после условного class "order"
И я хочу чтобы на страницы id=9 было echo Contact Form 7 из страницы id=7 после сlass "order"
#2,
честно - ничего совершенно не понял.
#3,
Доброго времени суток. Подскажите пожалуйста- хочу реализовать вывод чата в сайдбаре отдельной страницы, саму страницу этим тегом я определяю, но у меня проблема именно в выводе чата, он выводится следующим условным тэгом [quick-chat height=400, 200]. Однако при попытке вывести его допустим через echo пхп само собой тупо печатает мне этот тэг как обычный текст. Может быть подскажете как поступить данном случае? Плагин чата Quick chat
#4,
почитать справку к плагину?
у него есть не только шорткод, но и php-код вызова чата:
#5,
Большое спасибо! Просто не знаю где именно искать, не то чтобы лень.
#6,
Что то никак... если прописывать обычное
echo 'Hello';
То все выводится, а если вставить вместо него приведенный выше фрагмент кода, то вообще весь вывод в сайдбаре иссчезает.
#7,
ну правильно то вставляете?
открытие и закрытие php кода надо только, если вставка не идет в другом php-коде.
какие ошибки выдает?
#8,
ошибки вообще не выдает, что странно. Решил проблему с помощью плагина Display widgets, но позднее наверное еще вернусь к этому. Сейчас просто важен результат. Скорее всего не там вставлял, надо будет разобрать там логику вывода.
#9,
Наверное предпоследние скобки
?>
лишние?
#10,
Здравствуйте. Можно ли нечто подобное использовать для отключения исполнения скрипта на одной или нескольких страницах или записях. Скрипт задан в виде плагина и сразу для всего блога. Например в самом начале прописать <?php if ((!is_page('2482'))) Если да, то что ещё нужно добавить?
#11,
это ограничение надо прописывать в функции, которая подключает скрипты.