Intereting Posts
Как получить содержание сообщения из категории на моей домашней странице Добавление возможностей к ролям по умолчанию Не удалось войти в новый пользовательский домен на многопользовательском? IP-адреса для блокировки, чтобы остановить автоматическое обновление WP? Показать последнюю используемую таксономию на главной странице отображать уникальные сообщения для каждой категории Добавить новую панель внутри родительской панели в WP Customize? Как решить 500 ошибок на панели управления WordPress Admin из-за тайм-аута на getdirsize Показывать список сообщений за месяц ниже текущего сообщения Функции работают вне цикла с переопределением 404 Могу ли я отказаться от 3,7,1 от 3,8, просто справляясь с старыми wp-файлами? Отключить тег SVG automatig из меню Как вызвать статическую страницу в WordPress Как я могу добавить еще один вариант этой пользовательской функции сообщения? Перенаправление wp-login

где код, который выполняет иерархию шаблонов?

Я могу видеть изображение иерархии шаблонов здесь , но где фактический код WordPress, который решает, что это «страница категории» или «страница архивов» или «страница поиска»?

Solutions Collecting From Web of "где код, который выполняет иерархию шаблонов?"

wp-includes/template-loader.php – это файл, который является иерархией шаблонов. Однако к тому моменту, когда файл выполняется, все решения шаблонов уже сделаны, поскольку весь этот файл проверяет наличие булевых флагов (определенных в функции wp-includes/query.php init_query_flags ).

Таким образом, весь тяжелый и интересный код происходит до этого на wp-settings.php 225:

 $wp_the_query = new WP_Query(); 

и он определенно находится внутри класса WP_Query (начиная с конструктора в строке wp-includes/query.php 2998), где происходит вся интересная логика.