Знание идентификатора (ID) в WordPress может оказаться полезным при работе с конкретными страницами. Например, вам может понадобиться присвоить конкретному контенту уникальный шаблон или добавить дополнительные JavaScript скрипты. В данной статье мы разберём несколько распространённых способов для определения ID страницы или записи. Также мы расскажем, как узнать ID категории.
Способы определения ID страницы или записи
Существует несколько простых способов узнать ID страницы или записи в WordPress:
- Просмотр в админ-панели: Перейдите в раздел Записи или Страницы в админ-панели WordPress. Наведите указатель мыши на нужную запись или страницу — в нижней части экрана появится ссылка с ID.
- Редактирование записи: Откройте нужную запись для редактирования. В адресной строке вашего браузера вы увидите URL, заканчивающийся на
?post=123; число 123 здесь и есть ID записи. - Использование плагинов: Существуют плагины, такие как Reveal IDs, которые отображают ID всех записей, страниц и терминов прямо в админ-панели, что значительно упрощает процесс.
Как узнать ID категории
Для определения ID категории выполните следующие шаги:
- Перейдите в раздел Записи > Рубрики в админ-панели.
- Наведите курсор на нужную категорию. Внизу экрана вы увидите URL с параметром
tag_ID=123, где 123 — это ID категории.
Заключение
Знание идентификаторов записей, страниц и категорий в WordPress является важным аспектом работы с этой платформой. Используя описанные методы, вы легко сможете находить необходимые ID для настройки и оптимизации вашего контента.
В адресной строке в админке
Самый простой и быстрый вариант для выявления ID страницы в админской панели – это перейти в раздел Страницы > Все страницы.

После этого у вас появится два способа. Вы можете навести курсор на название нужной страницы; внизу браузера отобразится ссылка на её редактирование, где в параметре post будет указан ID страницы.

Либо вы можете открыть страницу редактирования конкретной записи и скопировать ID из параметра post в адресной строке браузера.

Еще одним полезным способом является использование плагина для WordPress, который может отображать ID страниц прямо в списке всех страниц. Это значительно упрощает процесс, особенно если у вас большое количество страниц на сайте.
Кроме того, вы можете воспользоваться функцией поиска в админской панели, чтобы быстро найти нужную страницу и также узнать её ID, навигация в этом случае будет быстрее и удобнее.
Наконец, помните, что ID страницы остаются неизменными даже если вы будете изменять название или содержание страницы, так что этот номер можно использовать в других частях вашего сайта, например, для создания ссылок или настройки плагинов.
В админке в дополнительном столбце записей/страниц
По умолчанию в административной части WordPress ID страниц не отображаются. С помощью плагина или небольшого кода можно добавить дополнительный столбец с ID в таблицу всех записей.
Рекомендуется установить плагин Catch IDs. После его установки в таблицах с записями и страницами появится новый столбец.

Если вы предпочитаете добавлять такой столбец без использования плагинов, это можно сделать с помощью специального кода. Для этого откройте файл functions.php вашей темы и добавьте в его конец следующий код:
add_filter('manage_posts_columns', 'add_id_posts_column', 10, 2); add_action('manage_posts_custom_column', 'add_id_posts_column_value', 10, 2); add_filter('manage_pages_columns', 'add_id_pages_column'); add_action('manage_pages_custom_column', 'add_id_posts_column_value', 10, 2); /** * Добавляет колонку ID для таблицы записей * @param mixed $columns * @param mixed $post_type * @return array */ function add_id_posts_column($columns, $post_type) { $columns['post_id'] = 'ID'; return $columns; } /** * Добавляет колонку ID для таблицы страниц * @param mixed $columns * @return array */ function add_id_pages_column($columns) { $columns['post_id'] = 'ID'; return $columns; } /** * Выводит ID каждого поста в таблице * @param mixed $column * @param mixed $id * @return void */ function add_id_posts_column_value($column, $id) { if ($column === 'post_id') { echo $id; } }
Следовательно, добавление столбца с ID завершено, и он будет находиться в конце таблицы.
Кроме того, стоит отметить, что добавление такого столбца не только упрощает идентификацию записей, но и может быть полезно для обработки данных или создания отчетов. Если вам нужно будет изменить код, например, чтобы показать другой тип данных, вы можете сделать это, изменив функцию add_id_posts_column_value.
Также, если вы используете кастомные типы записей, вам потребуется немного изменить код, добавив соответствующие фильтры и действия для этих типов. Это позволит вам увидеть ID кастомных записей в административной панеле.
Не забудьте сделать резервную копию вашего файла functions.php перед внесением изменений, чтобы избежать потери данных или ошибок, которые могут повлиять на работу сайта.

В css классе на странице одиночной записи
Теперь давайте рассмотрим, как можно определить ID записи в публичной части сайта.
WordPress использует функцию body_class, которая генерирует список классов, относящихся к определённой странице. Для каждой записи и страницы в css-класс добавляется ID текущего поста.
Чтобы обнаружить ID, перейдите к нужной записи (или странице) и откройте исходный код страницы или инструменты разработчика (нажмите F12).
Значение, стоящее после postid-, и есть ID текущего поста.
Эту информацию можно использовать для создания специфических стилей для каждой записи. Например, вы можете задать уникальный фон или шрифт для конкретного поста, используя CSS, который будет привязан к его ID.
Кроме того, вы можете применять JavaScript для динамического изменения контента или поведения страницы в зависимости от ID поста, что позволит создавать более интерактивный пользовательский интерфейс.
Данный метод будет работать лишь при условии, что функция body_class используется в вашей теме и классы не были изменены разработчиками.
Также стоит отметить, что если вы используете кастомные типы записей, то у них тоже будут свои уникальные CSS-классы в body, которые помогут вам стилизовать страницы этих записей.
В форме добавления комментария
Этот способ применим исключительно к тем типам записей, которые допускают комментарии. По умолчанию комментарии разрешены только для записей.
Если на странице с записью доступна форма для добавления комментария, то откройте инструменты разработчиков (F12) и найдите элемент с id #commentform.
Скрытое поле comment_post_ID содержит значение ID текущей записи.
Для более глубокого анализа комментариев вы также можете воспользоваться другими скрытыми полями, такими как comment_parent, которое указывает на родительский комментарий, если ваш комментарий является ответом на другой. Это может быть полезно для понимания структуры комментариев и их иерархии.
Кроме того, вы можете обратить внимание на значение поля comment_author, которое содержит имя автора комментария, и на comment_email, если предусмотрена функция уведомлений о новых комментариях. Собранные таким образом данные помогут вам оценить активность пользователей на странице.
Имейте в виду, что комментарии часто содержат полезную информацию, которая может быть интересна для анализа пользовательского контента и улучшения взаимодействия с аудиторией.

В таблице базы данных
Не советую пользоваться этим методом. Нечеткие действия с базой данных могут привести к сбоям в работе сайта.
Если вы находитесь на хостинге или локальном сервере, откройте phpMyAdmin и найдите базу данных вашего сайта. Нас интересует таблица wp_posts.

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

Далее будут описаны методы, требующие знаний PHP и понимания механизма работы WordPress. Не применяйте их на действующем сайте, а используйте только на локальной версии.
Через код на странице поста
Существует несколько способов получить ID текущего поста:
- ID находится в глобальном объекте $post.
global $post;
$post_id = $post->ID;
- Функция get_queried_object_id() возвращает ID поста.
$post_id = get_queried_object_id();
- В цикле (loop) можно использовать функцию get_the_id() для получения ID.
if (have_posts()) {
while (have_posts()) {
the_post();
$post_id = get_the_ID();
}
}
Через код по названию или slug поста
Если вам известно название поста (title) или его slug, используйте следующий код:
$posts = new WP_Query([
'post_type' => 'page',
'title' => 'Контакты',
'posts_per_page' => 1,
'fields' => 'ids',
'no_found_rows' => true,
'update_post_term_cache' => false,
'update_post_meta_cache' => false
]);
if( $posts->have_posts() ) {
$page_id = $posts->posts[0];
echo $page_id;
}
Этот код выведет ID страницы «Контакты», если такая страница существует.
Для поиска страницы по значению slug, просто уберите параметр title и добавьте name в массив WP_Query.
$posts = new WP_Query([
'post_type' => 'page',
'name' => 'contacts',
'posts_per_page' => 1,
'fields' => 'ids',
'no_found_rows' => true,
'update_post_term_cache' => false,
'update_post_meta_cache' => false
]);
Тем же способом можно получать ID для любых типов записей, достаточно заменить значение параметра post_type на нужное.
Как узнать ID категории WordPress
Мы рассмотрели наиболее распространённые методы для определения ID страницы или записи. Теперь расскажем, как быстро узнать ID категории в WordPress.
- Можно воспользоваться тем же методом, что и для записей. Зайдите в администраторе в раздел Записи > Рубрики. Откройте страницу редактирования нужной категории и в адресной строке найдите параметр tag_ID. Это значение будет ID рубрики.

- Возврат к плагину Catch IDs, о котором шла речь ранее. Он позволяет добавить столбец с ID для всех сущностей в административной части. После установки перейдите в настройки плагина и активируйте отображение ID для категорий.

- Если вам нужно получить ID категории с помощью кода, советую использовать универсальную функцию get_queried_object_id(). Она работает с текущим объектом запроса $wp_query и возвращает ID записи, страницы, категории или термина таксономии.
$id = get_queried_object_id();
echo $id;