Всем объектам сайта WordPress присваивается номер id. Как узнать id страницы, записи блога, рубрики, изображения, пользователя и т.д., когда используются "понятные человеку URL"? Как узнать id и Как узнать id в php-коде (id объекта текущего запроса, для текущего поста внутри цикла WordPress и по заголовку страницы)
По умолчанию url-адреса страниц сайта (ссылки на страницы) имеют вид
сайт.ру/?p=id
т.е. включают знак вопроса и число, номер id, под которым объект хранится в базе данных, например:
http://mblogm.ru/?p=1381
Администратор сайта обычно выбирает в настройках другую, более удобную структуру постоянных ссылок, например,
сайт.ру/название-рубрики/название-записи
Но что, если где-то нужно указать id конкретного объекта WordPress?
Как узнать id:
Вам нужно узнать id записей, медиафайлов, пользователей и т.д.? Это можно сделать несколькими способами:
- Во время редактирования записи или страницы щелкнуть на кнопке Получить короткую ссылку
Номер в конце короткой ссылки – это и есть id данной записи или страницы
- Если в браузере открыть "Исходный код страницы", idпоявляется в теге короткой ссылки (shortlink):
<link rel='shortlink' href='http://mblogm.ru/?p=1381' />
- id появляется в строке состояния браузера (внизу экрана), если навести указатель мыши на ссылку нужного объекта на административной панели в разделе со списком объектов («Записи», «Страницы», «Медиафайлы» и т.д.)
- В конце концов, можно установить плагин. До версии WordPress 2.5 в административной панели в разделах «Записи», «Страницы» и т.д. была колонка с id, но в более поздних версиях WordPress она исчезла. Плагин Reveal IDs for WP Admin "восстанавливает" эту колонку.
Как узнать id в php-коде:
Текущая веб-страница
Узнать id объекта WordPress, страницу которого просматривает посетитель:
Извлечение id объекта текущего запроса:
$wp_query->get_queried_object_id() // или с WordPress версии 3.1.0 get_queried_object_id()
(См. get_queried_object , Docs for page query.php)
Функция get_the_ID возвращает, а функция the_ID выводит id текущей веб-страницы.
Например, так можно создать уникальный id элемента на странице (в XHTML id не должен начинаться с цифры):
<h3 id="post-<?php the_ID(); ?>"><?php the_title(); ?></h3>
id текущей страницы внутри цикла WordPress
Внутри цикла WordPress, а их в php-коде для вывода веб-страницы может быть несколько (см. Циклы WordPress), id можно узнавать так же, как и другие параметры:
<?php $post->ID; ?>
id по заголовку постоянной страницы (Page)
<?php $mypage= get_page_by_title('MyPage'); $mypage_id= $mypage->ID; ?>
Дополнение от 4 июля 2011 г : Как узнать в коде id метки по имени метки