Intereting Posts
Создать форму поиска для фильтрации через термины Невозможно получить информацию о загрузке с помощью json_encode Категория pagination показывает те же записи Как программно свернуть меню панели управления WP? Шаблон страницы не отображает простой HTML, если он вставлен на другую страницу? Условное меню для зарегистрированных пользователей / гостей (система Genesis) Забыли пароль Как правильно добавить Javascript на страницу «Страница не найдена на PHP»? получить выдержку без изображений Добавление графики на страницу 404.php Дата покупки Woocommerce Исправление пользовательской разбивки на страницы без изменения настроек для каждой страницы на странице Каков правильный способ переноса содержимого из одного WP в WP многоузловой Регистрация статического меню? Как логин возможен, если я запрещаю страницу входа через .htaccess с разрешением ip

Подключиться непосредственно к выполнению запроса

Я создаю простой класс кеширования, и я хочу использовать этот класс для кэширования запросов. Мое первоначальное мышление состояло в том, чтобы создать класс Query и использовать его для обработки всех запросов, то есть класс Query будет использовать мой класс Cache чтобы проверить, есть ли сохраненный запрос, иначе он будет запускать WP_query или $wpdb и кэшировать результаты.

Пока что так хорошо, и я хочу сделать этот шаг дальше. Как насчет запросов, которые WordPress работает по умолчанию? Основные функции WordPress не будут использовать мой класс, поэтому мой вопрос таков: есть ли способ подключиться к wordpress на уровне выполнения запросов? Единственные крючки, которые я смог найти, это крючки об изменении запроса, но то, что я хочу, – это крючок, который обрабатывает выполнение запроса сам (чтобы я мог остановить выполнение запроса и получить данные, которые запрос будет искать из кеша ).

Например, со структурой wordpress я бы предположил, что все запросы будут выполнены в конце с помощью $wpdb->query('FINAL BUILT QUERY HERE'); , Я не знаю, верно ли это, но это то, что имеет смысл. Поэтому, если бы это было так, я бы искал фильтр действий, который получает окончательный запрос в виде строки или как массив аргументов и ожидает, что результаты запроса будут возвращены (звучит как небезопасный крючок, но вы получаете идею). По умолчанию этот крючок будет запускать $wpdb->query на входных данных, и именно там я пришел, чтобы переопределить это поведение и добавить обход для проверки кешированного запроса перед фактическим исполнением.

Надеюсь, мой пример имеет смысл понять, что я ищу, кто-нибудь знает, как это сделать?

Solutions Collecting From Web of "Подключиться непосредственно к выполнению запроса"