Определить, является ли страница страницей записей

14 апр. 2011 г., 20:24:00
Просмотры: 85.1K
Голосов: 30

На странице Настройки чтения вы можете установить "Главную страницу" и "Страницу записей". Вы можете проверить, является ли текущая страница главной с помощью is_front_page();

Существует ли аналогичная функция для "Страницы записей". Я заметил, что is_page(); не работает для этой специальной страницы.

Спасибо

0
Все ответы на вопрос 6
3
49

is_home() проверяет "Страницу записей", несмотря на несколько запутанное название функции.

14 апр. 2011 г. 20:29:13
Комментарии

спасибо, я думал, что проверил все, но, видимо, нет...

mike mike
14 апр. 2011 г. 21:02:22

А как насчёт $wp_query->is_posts_page?

Weston Ruter Weston Ruter
15 мая 2013 г. 11:03:36

@WestonRuter дал правильный ответ на вопрос.

The J The J
19 янв. 2017 г. 15:49:38
0
11

В WordPress существует 7 основных типов шаблонных страниц, которые можно определить следующим образом:

if ( is_main_query() ) {
    // Страница ошибки 404
    if ( is_404() ) {
        ;
    }
    // Главная страница
    if ( is_front_page() ) {
        ;
    }
    // Архив
    if ( is_archive() ) {
        ;
    }
    // Всплывающее окно комментариев
    if ( is_comments_popup() ) {
        ;
    }
    // Поиск
    if ( is_search() ) {
        ;
    }
    // Отдельная запись (пост, страница, вложение)
    if ( is_singular() ) {
        ;
    }
    // Домашняя страница - страница блога
    if ( is_home() ) {
        ;
    }
}

Функция is_home() указывает на то, что текущая страница является страницей блога.

13 сент. 2015 г. 13:34:34
0

"Страница записей" обычно представляет собой архив:

  • записей категории
  • записей метки
  • записей по дате (год, месяц...)
  • записей главного архива

Каждый из этих вариантов можно проверить с помощью одного из множества условных тегов, таких как: is_category() is_tag() is_date() is_archive() И многих других. Для лучшего понимания ознакомьтесь с кодексом http://codex.wordpress.org/Conditional_Tags

14 апр. 2011 г. 21:16:20
1

Сначала проверяем связанные с блогом элементы, такие как автор, метка, тип записи

function is_blog () {
        global  $post;
        $posttype = get_post_type($post );
        return ( ((is_archive()) || (is_author()) || (is_category()) || (is_home()) || (is_single()) || (is_tag())) && ( $posttype == 'post')  ) ? true : false ;
  }

Теперь проверяем и возвращаем то, что вам нужно

function check_post_type(){
    $postType;
    if (is_blog())
      {
         $postType = 'Я запись';
      } else
       {
          $postType = 'Я страница';
       };
    return $postType;
  }

Используйте это как Босс <?php echo check_post_type();?>

Благодарность Wes Bos

10 янв. 2018 г. 19:14:57
Комментарии

Этот совет помог мне при настройке post.php для редактирования только страниц.

Jonatas CD Jonatas CD
4 мая 2021 г. 16:31:19
0

Кратко

Случай A. Нет необходимости определять это внутри основного файла шаблона (index.php), так как он является шаблоном по умолчанию[1].

Случай B. Чтобы определить это внутри шаблона страницы (например: page.php), просто проверьте следующим образом:

get_option( 'page_for_posts' ) == get_the_ID()

Подробности

Я буквально погрузился в исходный код[2], чтобы понять, как WordPress проверяет это значение. Оказывается, он использует выражение get_option( 'page_for_posts' ) для получения ID записи выбранной страницы Страница записей.

Да, для этой цели нет официальной функции-проверки, аналогичной is_front_page().

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

Ссылки

  1. WordPress Codex, Разработка тем, codex.wordpress.org/Theme_Development

  2. Исходный код НастройкиНастройки чтения, github.com/WordPress/.../wp-admin/options-reading.php

10 мар. 2019 г. 02:00:26
0

https://codex.wordpress.org/Conditional_Tags в WordPress Codex говорится, что страницы можно проверять следующим образом:

if ( is_front_page() && is_home() ) {
  // Главная страница по умолчанию
} elseif ( is_front_page() ) {
  // Статическая главная страница
} elseif ( is_home() ) {
  // Страница блога
} else {
  // Все остальные страницы
}
30 янв. 2021 г. 01:56:37