Главная » Wordpress » Особенности использования функции is_page() в CMS WordPress

Особенности использования функции is_page() в CMS WordPress

Привет всем! Все кто работал с WordPress особенно те, кто разрабатывает коммерческие сайты на этом движке, сталкивались с использованием функции is_page().

Кратко говоря, эта функция позволяет делать выборку определенных станиц по ID, title, slug, а также делать выборку целых по массиву данных.

Вот как выглядит пример использования данной функции взятый из сайта developer.wordpress.org:

// When any single Page is being displayed.
is_page();
// When Page 42 (ID) is being displayed.
is_page( 42 );
// When the Page with a post_title of "Contact" is being displayed.
is_page( 'Contact' );
// When the Page with a post_name (slug) of "about-me" is being displayed.
is_page( 'about-me' );
/*
* Returns true when the Pages displayed is either post ID 42,
* or post_name "about-me", or post_title "Contact".
* Note: the array ability was added in version 2.5.
*/
is_page( array( 42, 'about-me', 'Contact' ) );

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

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

Первый метод это использование логических операторов PHP, в частности использование оператора ИЛИ («||»).

Как это выглядит на практике:

if(is_page(42) || is_page('about-me') || is_page('Contact')) { /* Тут вставляем нужный блок с информацией */ }

В примере выше используется конструкция if, которая является условием, при исполнении которого и буде выводиться заданный нами блок. Зачастую, на практике, нужно на разных шаблонах страниц выводить различные типы блоков, например различные типы слайдеров или же разные формы для оформления заказа, и при этом всем есть общие страницы, для которых используется стандартный блок, например «заказать звонок». Немного запутано написал. Для наглядности, например у вас в дизайне есть блок для формы заказа звонка, но на странице прайс-листа вы хотите, что бы в этом же блоке вместо обратного звонка выводилась форма заказа актуального прайс-листа на сегодняшнее число. Так думаю, будет понятнее.

Именно в таких случаях мы можем расширить конструкцию if:

if (is_page(42)) {
/* Выводим блок для первой страницы */
} elseif(is_page('about-me')) {
/* Выводим блок для второй страницы */
} else {
/* Код, который будет на всех остальных страницах */
}

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

1 комментарий

  1. А в джумле реализуемо?

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *