Как получить 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;
}
Показать код