


Блог IT-шника
Блог IT-шника
Привіт:) Веб-сайт WordPress може мати різні типи сторінок, як-от контакти, політика конфіденційності, блог, сторінка автора або домашня сторінка.
Іноді, коли ми розробляємо тему чи плагін або впроваджуємо інші функції в WordPress, стає важливо визначити, чи є поточна сторінка домашньою. У цьому пості покажу, У цьому підручнику ми дізнаємося, як саме це зробити.
Домашня сторінка — це особливий тип сторінки в WordPress. Це стосується сторінки веб-сайту, яка містить список усіх публікацій блогу, які ви опублікували в хронологічному порядку.
Це не слід плутати з концепцією статичної головної сторінки, яка була введена в WordPress 2.1. Вміст статичної головної сторінки не обов’язково буде статичним. Однак він не призначений для того, щоб містити список усіх публікацій блогу, як домашня сторінка.
Відповідні параметри для встановлення статичної сторінки як головної можна знайти, відвідавши адмін-меню Налаштування > Читання (або Settings > Reading).
Термінологія домашньої та головної сторінок може бути трохи заплутаною. Зазвичай ми називаємо головну URL-адресу веб-сайту його домашньою сторінкою. Наприклад, домашня сторінка мого блогу — https://petrov.net.ua/. Однак це вважається головною сторінкою WordPress.
Головна та домашня сторінки веб-сайту WordPress можуть бути однаковими або відрізнятися одна від одної, залежно від налаштувань.
до змісту ↑Вам може знадобитися використовувати is_home()
та is_front_page()
разом для виконання певних завдань, залежно від ваших налаштувань.
Припустімо, ви у налаштуваннях читання вказали, щоб на домашній сторінці відображалися останні публікації блогу, як показано на зображенні вище. У цьому випадку значення is_home()
та is_front_page()
будуть істинними для основної URL-адреси веб-сайту, наприклад website.com.
// Під час перевірки головної URL-адреси веб-сайту з налаштуванням домашньої сторінки для відображення останніх дописів.
if ( is_home() ) {
// Істинно, виконується
}
if ( is_front_page() ) {
// Істинно, виконується
}
if ( is_home() && is_front_page() ) {
// Істинно, виконується
}
if ( is_home() || is_front_page() ) {
// Істинно, виконується
}
Як бачите, використання is_front_page()
нічим не відрізняється від використання is_home()
у цій ситуації. Обидва повертатимуть true
для основної URL-адреси та false
для всіх інших URL-адрес.
Тепер, припустімо, ви встановили статичну сторінку під назвою "Продукти" з URL-адресою website.com/products/ у якості першої сторінки веб-сайту та сторінки блогу з URL-адресою website.com/blog/ як домашньої сторінки блогу.
// Під час перевірки основної URL-адреси веб-сайту, де домашня сторінка є статичною
if ( is_home() ) {
// Хибно, не виконується
}
if ( is_front_page() ) {
// Істинно, виконується
}
if ( is_home() && is_front_page() ) {
// Хибно, не виконується
}
if ( is_home() || is_front_page() ) {
// Істинно, виконується
}
Список публікацій блогу буде показано на сторінці website.com/blog/. У цьому випадку виконуватиметься лише код у першому та останньому блоках if
.
// Під час перевірки URL-адреси website.com/blog/ із блогом, встановленої у якості сторінки публікацій блогу.
if ( is_home() ) {
// Істинно, виконується
}
if ( is_front_page() ) {
// Хибно, не виконується
}
if ( is_home() && is_front_page() ) {
// Хибно, не виконується
}
if ( is_home() || is_front_page() ) {
// Істинно, виконується
}
Жоден із цих блоків if
не виконуватиметься для інших сторінок веб-сайту.
Припустімо, ви встановили власну спеціальну сторінку у якості домашньої сторінки блогу або сторінки, де відображатимуться всі останні публікації. Що, якщо ви вирішите відобразити заголовок поточної сторінки перед списком дописів, але лише якщо ви не перебуваєте на головній URL-адресі веб-сайту? У цьому випадку ви можете використовувати такий умовний блок:
if ( is_home() && ! is_front_page() ) {
echo '<h1>' . single_post_title() . '</h1>';
}
до змісту ↑
Ми також можемо виконувати перевірки налаштувань користувача, пов’язаних із налаштуванням певної домашньої чи головної сторінки. Ми можемо використовувати функцію get_option()
, щоб виконати цю перевірку.
Є три варіанти, значення яких ми можемо перевірити. Це show_on_front
, page_on_front
і page_for_posts
.
Значенням, яке повертає виклик get_option( 'show_on_front' )
, будуть posts
або page
.
Коли цей виклик функції повертає posts
, це означає, що головну сторінку налаштовано для показу списку останніх дописів блогу. Іншими словами, це означає, що виклики is_home()
та is_front_page()
повертатимуть true
.
Коли виклик get_option( 'show_on_front' )
повертає page
, це означає, що статичну сторінку призначено головною сторінкою веб-сайту. Виклик get_option( 'page_on_front' )
тепер дасть вам ідентифікатор цієї статичної сторінки. Ви також можете зробити виклик get_option( 'page_for_posts' )
, щоб отримати ідентифікатор статичної сторінки, яка буде використовуватися для відображення останніх публікацій блогу.
Джерело: https://webdesign.tutsplus.com/tutorials/how-to-check-if-the-current-page-is-the-homepage-in-wordpress--cms-93240