Как получить ID записи / страницы
Внутри стандартного цикла WordPress
Получаем ID
Скопировано
$id = $post->ID;
Показать код
или так
Скопировано
$id = get_the_ID();
Показать код
Выводим ID
Скопировано
the_ID();
Показать код
Внутри дополнительного цикла
Цикл организован с помощью WP_Query
Чтобы просто получить ID всех записей из результата запроса, можно их перебрать так
Скопировано
foreach( $query->posts as $_post ) {
echo $_post->ID;
}
Показать код
Если же мы перебираем записи цикла стандартным образом
Скопировано
while( $query->have_posts() ) {
$query->the_post();
// ...
}
Показать код
то внутри такого цикла ID каждой записи можно получить так же как внутри обычного цикла WordPress - через $post->ID
или get_the_ID()
.
Если мы уверены, что WP_Query
вернет нам только одну запись и именно ее ID мы хотим получить, то сделать это можно и без цикла:
Скопировано
$id = $query->post->ID;
Показать код
Цикл организован с помощью get_posts
Скопировано
$posts = get_posts( [ 'posts_per_page' => -1 ] );
foreach( $posts as $_post ) {
echo $_post->ID;
}
Показать код
Или можно в параметрах запроса попросить вернуть только ID записей:
Скопировано
$ids = get_posts( [ 'posts_per_page' => -1, 'fields' => 'ids' ] );
foreach( $ids as $id ) {
echo $id;
}
Показать код