Что считается запросом по умолчанию для фильтра запросов?
Как указано в одном из ответов на этот вопрос и в записи кодекса для request
фильтр, указанный фильтр вызывается только в запросе по умолчанию, таком как основной запрос, используемый для цикла. Мой вопрос в том, что еще считается или не считается запросом по умолчанию? Будет ли создание нового объекта WP_Query
считаться таковым?
2 answers
Запрос "по умолчанию" - это тот, который WordPress делает сам, на основе URL и тому подобного, автоматически.
Любой запрос, который вы создаете вручную, с помощью нового WP_Query или вызывая query_posts(), не будет использовать фильтр "запрос".
Существует только один запрос "по умолчанию", и вы не можете запустить его с помощью какого-либо кода в шаблоне.
request
применяется только один раз, путем parse_request()
, способ проведения WP
класс. Есть только одна ссылка на это, это другой метод WP
, main()
. main()
упоминается один раз, по wp()
. wp()
на него ссылается в нескольких разных контекстах ряд различных функций и файлов: wp_trackback.php
, get_feed()
, wp-blog-header.php
, wp_edit_posts_query()
, и wp_edit_attachments_query()
. Итак, просматривая это, ничто из того, что вызывает WP_Query, не является в списке.
Короткий ответ: Я бы сказал, что нет, это не называется request
.
Все сказанное выше, моя работа основана на работе в обратном направлении с phpxref (отсюда и ссылки), поэтому я, возможно, что-то пропустил, или он, возможно, что-то пропустил. Лучшим способом задать свой вопрос может быть вопрос о том, что вы пытаетесь сделать, а не о вашей реализации этого.
Просто примечание: main()
вызывает query_posts()
, который (я думаю) выполняет запрос по умолчанию и тому подобное, но один экземпляр WP_Query не должен быть достаточно, чтобы вызвать это из того, что я видел.