Вы уверены, что получаете сообщения?Попробуйте выгрузить свои сообщения после того, как вы их загрузили, например:
var_dump($posts)
Содержит ли переменная $ posts что-нибудь?Если нет, вы, вероятно, не получите сообщения, потому что $ wpdb (класс подключения к базе данных) все еще не определен.
Во-вторых, что происходит, когда вы пытаетесь
<?php echo $post->post_date ?>
вместо
<? the_date(); ?>
Возможно, WordPress не осознает, что вы находитесь в цикле, и поэтому функции цикла (например, the_date, the_title, ...) не будут работать.
letя знаю, работает ли одна из этих вещей.