Коротко: ID страницы в WordPress проще всего узнать в админке: наведите курсор на название страницы в списке — внизу браузера покажется адрес с post=123, где 123 и есть ID. Ещё способы: открыть страницу на редактирование и посмотреть адрес, посмотреть класс в <body>, использовать get_the_ID() в коде или WP-CLI.
Способы узнать ID
| Способ | Как |
|---|---|
| Список страниц | навести курсор на название |
| Редактор | посмотреть адрес post=123 |
| Код страницы | класс page-id-123 у body |
| В шаблоне | get_the_ID() |
| WP-CLI | wp post list |
Вкладки: по шагам
- Откройте «Страницы» (или «Записи»).
- Наведите курсор на название нужной страницы.
- Посмотрите в левый нижний угол браузера — там адрес с
post=123. - Число после
post=— это ID.
Самый быстрый способ, не требующий правок кода.
Откройте страницу на редактирование — адрес будет вида:
https://site.ru/wp-admin/post.php?post=123&action=editЧисло 123 — искомый ID. То же работает для записей, рубрик и пользователей (там свои параметры: tag_ID, user_id).
- Откройте страницу на сайте.
- Правый клик → «Просмотреть код».
- Найдите тег
<body>. - Среди классов будет
page-id-123илиpostid-123.
Тема добавляет эти классы автоматически. Удобно, если нужно стилизовать конкретную страницу.
Внутри цикла или на странице ID можно получить функцией:
$page_id = get_the_ID();
$page_id = get_queried_object_id();
// для конкретной страницы по слагу
$page = get_page_by_path('contacts');
echo $page->ID;# WP-CLI
wp post list --post_type=page --fields=ID,post_titleТак ID получают программно — для условий, запросов и вывода связанных блоков.
Зачем нужен ID на практике
- Указать страницу в настройках плагина (например, «страница спасибо»).
- Исключить страницу из вывода в шаблоне.
- Задать редирект после отправки формы.
- Стилизовать конкретную страницу через
page-id-123. - Передать ID в шорткод:
.
Частые ошибки: причина → решение
| Симптом | Причина | Решение |
|---|---|---|
Нет post= в адресе |
включены «красивые» ссылки | открыть страницу на редактирование |
| Класс body не найден | тема не выводит body_class() |
добавить вызов в шаблоне |
| get_the_ID пустой | вызов вне цикла | использовать get_queried_object_id() |
| Не тот ID | перепутаны страница и запись | проверить тип записи |
Проверьте себя
Вопросы и ответы
Нет, ID остаётся тем же. Он меняется только при создании новой записи (удалённую и созданную заново получит другой номер).
Откройте «Рубрики» и наведите курсор на название — в адресе будет tag_ID=….
В «Пользователи» наведите курсор на имя — в ссылке будет user_id=….
Да: get_page_by_path('contacts') вернёт объект, а ->ID — его ID.
Итоги
- Быстрее всего — навести курсор в списке страниц и увидеть
post=. - В редакторе ID виден в адресной строке.
- В коде —
get_the_ID()/get_queried_object_id(). - ID нужен для настроек, условий и шорткодов, но не для «жёсткой» привязки.
Комментарии
Пока комментариев нет — будьте первым, кто поделится мнением.