Функції тегів шаблонів покладаються на глобальні змінні для доступу до публікації, що обробляється, та отримання даних з неї або пов'язаних з нею.
Основна змінна з них - це те, $post
що містить сам об'єкт пост. У вашому прикладі це не явно, але те, що відбувається, це те, що ваш цикл присвоює дані $post
, якщо б ім'я для ітерації не було, $post
вам потрібно буде це робити явно ( global $post; $post = $some_other_post;
).
Однак існує маса інших глобальних мереж, мета яких setup_postdata()
- заповнити їх даними. Якщо ви подивитесь на джерело, а саме вони:
global $id, $authordata, $currentday, $currentmonth, $page, $pages, $multipage, $more, $numpages;
Зауважте, що у більшості випадків вам слід закликати wp_reset_postdata()
після цього повернути глобальні дані до їх початкового стану.