Д
Я бы советовал использовать:
1) вместо <?php the_title(); ?> писать <?= $query->the_post();?>
2) научится пользоваться var_dump() и анализировать полученные данные. Либо использовать XDEBUG.
3) Во view применять обращение в БД - это категорически нельзя... Для обращение в БД лучше вынести в другое место, например, в function.
4) очень плохая практика использовать множества If и switch.