Intereting Posts
Получить название текущей категории продуктов таксономии в woocommerce Как добавить новую страницу в тему WordPress через кодирование? Карта вторичного домена в виртуальную подпапку другого Оболочка HTML5 Youtube работает в jsfiddle, но не в WP? Более чем один пункт меню назначается классом «current-menu-item» Какие типы файлов можно загрузить с помощью WordPress Uploader? Используйте разные «Single.php» для настраиваемых категорий Вызов неопределенной функции wp_get_sites () WordPress Customizer: пользовательское перенаправление после закрытия Пользовательский виджет заголовка / кодировка HTML Добавить предупреждение о зрелости для посетителей в первый раз Дублирование сообщений с помощью Feedwordpress Как я могу отобразить имя группы buddypress в header.php, чтобы оно показывалось при просмотре каждой отдельной группы? Как вставить ссылку с помощью лайтбокса, которая открывает только конкретное содержимое страницы Frontend в WP, backend в Laravel. Необходим определенный уровень интеграции

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

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

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

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

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

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