Почему wordpress для каждого архива берет глобальный posts_per_page?
Вопрос конечно скорее риторический но всё же, с wp работаю долго но только сейчас при разработке очередной архивной страницы задался этим вопросом, по идее это же не логично что на каждый архив для типа записи берется одно глобальное значение, по логике у каждого архива должно задаваться своё значение где то при инициализации типа записи а если его нет то уже брать из глобала, но из решений я нашел только переопределение глобала на хуке pre_get_posts, в общем странная какая то механика
Я вам больше скажу — загрузка абсолютно любой станицы в WP происходит посредством глобального запроса, который можно переопределить на хуке pre_get_posts
на каждый архив для типа записи берется одно глобальное значение
Артем Золин, Почему разные? если не переопределять руками глобальный posts_per_page в pre_get_posts именно для страницы архива типа записи то будет браться именно он, не смотря на то что я там поставлю в аргументах для WP_Query или get_posts, вчера проверил а перед этим недоумевал почему ставлю например 3 локально при условии что всего записей 7 а 2-ая страница не работает, ошибка 404, поменял глобальную на нужное число и все заработало
Спасибо, но проще уж через хук переопределить если есть такая возможность чем тащить лишний код, тем более новые типы записей я обычно регаю через ACF, меня скорее интересует философия этой реализации, что какая то там глобальная переменная перебивает то что я сам руками закинул в аргументы
Александр Антонов, Не очень понял что и чего переопределяет. Аргументы глобального запроса WP_Query можно изменить с помощью хуков pre_get_posts или parse_query. Если вам нужен свой запрос, то его можно создать с помощью отдельного WP_Query с нужными аргументами.