Вы получаете только заголовок страницы, потому что вы используете функцию `the_title()` внутри цикла `while`, которая выводит заголовок текущей записи. Текущая запись в этом случае - это страница, на которой вы находитесь.
Для того чтобы вывести заголовки всех постов, вам нужно использовать функцию `WP_Query` для получения всех постов и затем перебрать их в цикле:
```php
<?php
$query = new WP_Query( array( 'post_type' => 'post' ) );
if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php endwhile; else: ?>
<p>Нет постов.</p>
<?php endif;
wp_reset_postdata(); ?>
```
В этом коде мы выполняем запрос к базе данных с помощью `WP_Query` и получаем все посты типа "post". Затем мы выводим заголовок каждого поста с помощью `the_title()` внутри цикла `while`. Обратите внимание на использование функции `wp_reset_postdata()`, которая сбрасывает глобальную переменную `$post` после окончания цикла, чтобы не вызывать проблемы в других частях кода.