Наверное это самая глупая и самая часта ошибка начинающих разработчиков под WordPress.

Вот хочется нам получить для обработки какой то пост, есть же команда get_post( $post_id ); или аналогичная.

А куда поместить то что она вернет? Ну конечно же в $post. Это же логично?

Если нам нужен пост, то мы помещаем его в $post. Что тут сложного? 🙂

И вот тут засада!

$post — это глобальная переменная самого движка. Туда ложит данные сам движок и перезаписывать ее неееельзя! Точнее можно, но вот где это всплывет и как много нервов оно потом вымотает — одному богу известно.

И наверное каждый разработчик под WordPress проходил через это крещение 🙂

Или нет?