Что считается запросом по умолчанию для фильтра запросов?


Как указано в одном из ответов на этот вопрос и в записи кодекса для request фильтр, указанный фильтр вызывается только в запросе по умолчанию, таком как основной запрос, используемый для цикла. Мой вопрос в том, что еще считается или не считается запросом по умолчанию? Будет ли создание нового объекта WP_Query считаться таковым?

Author: Community, 2012-02-13

2 answers

Запрос "по умолчанию" - это тот, который WordPress делает сам, на основе URL и тому подобного, автоматически.

Любой запрос, который вы создаете вручную, с помощью нового WP_Query или вызывая query_posts(), не будет использовать фильтр "запрос".

Существует только один запрос "по умолчанию", и вы не можете запустить его с помощью какого-либо кода в шаблоне.

 2
Author: Otto, 2012-02-14 17:49:32

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 не должен быть достаточно, чтобы вызвать это из того, что я видел.

 2
Author: mor7ifer, 2012-02-13 21:08:50