Чому не слід використовувати query_posts () в wordpress - wp magazine
Основні і вторинні запити
Основний запит (або основний цикл) в WordPress це той, який виконується на ранньому етапі завантаження ядра, він будується з запитаного URL, налаштувань постійних посилань і т.д. Під час основного запиту WordPress визначає такі параметри як кількість записів на сторінку, що використовується шаблон в темі та інші. Основний запит робить сам WordPress.
Вторинний запит це той, який виконується додатково до основного. наприклад:
Для порівняння розглянемо цикл для виведення популярних записів за допомогою WP_Query:
Безумовно другий варіант виглядає трохи чистіше і звичніше, оскільки така конструкція найчастіше зустрічається при роботі з основним циклом WordPress.
$ Wp_query і $ wp_the_query
Щоб в цьому переконатися достатньо поглянути на реалізацію подібних функцій:
Таким чином функції, які призначені для роботи з основним циклом WordPress починають працювати з нашим вторинним запитом, а основний запит залишився в глобальній змінній $ wp_the_query. посилання на яку можна відновити за допомогою функції wp_reset_query ().
Таким чином на кожній сторінці у нас буде п'ять записів, а не десять, а наш плагін для пагінацію буде відображати чотири сторінки замість двох. Все сходиться, але при переході на третю сторінку ми отримуємо помилку 404. Чому це відбувається?
Нагадуємо, що основний запит WordPress відбувається ще до того, як обробляються шаблони index.php або archive.php, де відбувається наша «підміна». В основному запиті кількість записів на сторінку - десять, і лише дві сторінки. Третьої та четвертої сторінок в основному запиті немає.
Саме основний запит визначає який шаблон теми буде використовуватися, і при запиті третин або четвертої сторінки WordPress буде використовувати шаблон 404.php.
Добрий день.
у мене є шорткод для виведення інформації з одного поста в інший
ось фрагмент
Питання таке: як можна перевизначити дані в виводяться постах так, щоб текст сам залишався той же, але якщо є php код для Вордпресс, то він виводив інформацію, релевантну не підключати посту, а для того поста, в який він включений.
Це робиться за допомогою query var. Якщо так, то як краще зробити?
З.и. на локалке (Денвер) все відмінно з обома шаблонами. На локалке вордпресс 4.0. на
робочому 4.1.1 (але чи має це значення).
Я бачу багато хто злякався ваших фраз: «перекриває основний цикл своїм власним даними», «хитрі перевизначення».