Разное

Wp query: WP_Query{} – Выбирает записи из базы данных по указанным критериям.

21.07.2023

Как настроить экспорт WordPress с помощью WP_Query

WP_Query — это класс WordPress, который позволяет вам получать сообщения непосредственно из базы данных. Он достаточно мощный для разработчиков, чтобы выполнять чрезвычайно сложные запросы, но достаточно простой для изучения обычным пользователем WordPress.

Вы можете узнать больше о WP_Query и всех его параметрах здесь: https://developer.wordpress.org/reference/classes/wp_query/

Вместо того, чтобы писать эти выражения WP_Query вручную, вы можете использовать https://generatewp .com/wp_query/, чтобы создать их для вас.

Использование WP_Query в WP All Export

Перейдите в раздел All Export > New Export и выберите параметр WP_Query Results . Затем выберите тип запроса из раскрывающегося списка. Все пользовательские типы записей, доступные для экспорта, добавляются сюда автоматически. В нашей установке по умолчанию есть три варианта:

  • Запрос типа сообщения
  • Запрос пользователя
  • Запрос комментария

Эти параметры используют WP_Query, WP_User_Query и WP_Comment_Query.

В этом примере мы собираемся выбрать Тип сообщения Query .

Создание запроса

Самый простой запрос будет включать тип сообщения и статус сообщения. Например, чтобы получить все опубликованные сообщения с типом сообщений WordPress по умолчанию «Сообщения», запрос будет таким:

 «тип_сообщения» => «сообщение»,
"post_status" => "опубликовать"
 

В качестве альтернативы вы можете экспортировать все элементы медиатеки, такие как изображения и вложения, с помощью этого запроса:

 "post_type" => "attachment", "post_status" => "inherit" 

Если вам нужно определить несколько типов сообщений и несколько статусов сообщений, вы можете использовать массивы. Например, вы можете получить все страницы и сообщения, ожидающие рассмотрения, опубликованные или черновики, с помощью следующего запроса:

 "post_type" => array( "post", "page" ), 
"post_status" => array( «опубликовать», «черновик», «ожидание»)

Расширенный пример WP_Query

Класс WP_Query может выполнять запросы настраиваемых полей, запросы таксономии, проверки авторов и многое другое.

В этой статье мы не сможем охватить все возможности, но здесь мы рассмотрим некоторые более сложные запросы, чтобы продемонстрировать возможности этой функции.

Специальные критерии для продуктов WooCommerce
В этом примере мы экспортируем набор переменных продуктов WooCommerce со следующими правилами:

  • Продукт должен быть опубликован .
  • Стоимость акций выше 0 .
  • Товары отсортированы по названию в порядке возрастания.

Запрос:

 "post_type" => array( "product", "product_variation" ), 
"post_status" => "опубликовать",
"orderby" => "post_title",
"order" => "ASC",
"meta_query" => array( array(
     "key" => "_stock",
     "value" => 0,
     "compare" => ">"
))

Пользовательский тип записи Поиск
В этом примере мы будем искать все записи в записи типа свойства , добавленные темой недвижимости. Критерии:

  • Тип сообщения свойства
  • Статус публикация
  • ID автора
    3
    , который является агентом по недвижимости
  • Свойству присвоена категория На продажу
  • Настраиваемому полю _featured присвоено значение 1 , что делает его рекомендуемым свойством в теме

Запрос:

9003 4 «тип_записи» => » характеристики», «post_status» => «опубликовать», «автор» => 3, «tax_query» => массив(массив( «taxonomy» =>      «property_category», «поле» => «слаг», «условия» => «для продажи», ) ), «meta_query» => массив(массив( «ключ» => «избранный», «значение» => «1», «сравнить» => «=», ))

Связанные документы

Выполнение пользовательского кода для изменения данных экспорта на лету.

Используйте фильтры, чтобы указать WP All Export, какие данные следует экспортировать конкретно.

Режим клиента позволяет предоставить доступ другим ролям пользователей для запуска/загрузки определенных экспортов.

Как использовать плагин отладки Query Monitor в WordPress

  • Что такое WordPress Query Monitor?
  • Возможности монитора запросов WordPress
  • Почему Query Monitor полезен для разработчиков?
  • Как использовать монитор запросов WordPress
  • Последние мысли

Что такое монитор запросов WordPress?

Query Monitor — это подключаемый модуль WordPress, который значительно повышает эффективность этапа отладки и в целом повышает общую производительность рабочих процессов разработки WordPress.

Плагин добавляет запись в верхнюю строку меню, которая действует как раскрывающийся список, содержащий количество запросов, выполняемых на текущей странице. Включает в себя время загрузки, фильтры по типу запроса, компонентам и т. д. В результате разработчики лучше понимают причины ошибок на сайте.

Он был разработан Джоном Блэкборном и доступен как в официальном репозитории плагинов WordPress, так и на GitHub. Query Monitor регулярно обновляется, а команда разработчиков обеспечивает оперативную поддержку и исправление всех зарегистрированных ошибок.

Установка плагина достаточно проста и в целом не требует никаких дополнительных действий (по сравнению с процессом установки аналогичных плагинов), а также не требует дополнительной настройки после установки. Прямо из коробки он начинает отображать выпадающий список на панели инструментов администратора.

Вы можете получить доступ к сведениям о запросах к базе данных, CSS, активным перехватчикам и вызовам HTTP API, щелкнув записи в раскрывающемся списке.

Особенности WordPress Query Monitor

Вот краткий обзор наиболее ярких функций Query Monitor.

Ошибки темы

Функция темы перечисляет все запросы, вызванные установленной темой WordPress. Он отображает имя файла шаблона темы, отвечающего за конкретный запрос, и показывает полную иерархию шаблонов. Функция темы также выделяет незагруженные части темы и имя активной темы WordPress.

Ошибки PHP

WordPress работает на PHP, и независимо от того, генерирует ли запрос тема или плагин, он имеет форму кода PHP. Функция ошибок PHP выделяет исходные компоненты и место, ответственное за создание запроса.

Примечание: Не все запросы, перечисленные в Query Monitor, являются серьезными. Это может быть просто предупреждение.

Вызовы AJAX

Динамические сайты WordPress выполняют множество вызовов Ajax для отправки и получения данных в режиме реального времени без загрузки всей веб-страницы. Query Monitor также показывает эти запросы вместе с другой полезной отладочной информацией. Эта информация помогает разработчику выделить любые ошибки.

REST API

Если у вас есть разрешение на мониторинг Query Monitor, вы можете отлаживать информацию, представленную в заголовке аутентифицированного запроса WordPress REST API. В настоящее время плагин поддерживает только ошибки PHP и использование памяти.

Аутентификация

По умолчанию только администратор односайтовой установки и суперадминистратор мультисайта WordPress могут просматривать журналы внутри Query Monitor. Однако вы можете настроить файл cookie для проверки подлинности, чтобы просматривать журналы, даже если вы вошли в систему как пользователь.

Заявление о конфиденциальности

WordPress Query Monitor не собирает и не отправляет данные третьим лицам.

Я также заметил, что надстройки панели отладки можно использовать с Query Monitor; однако сначала вам нужно деактивировать панель отладки. Кроме того, существуют надстройки для Query Monitor для лучшего взаимодействия с пользователем.

Почему Query Monitor полезен для разработчиков?

Разработчики получают четкое представление об областях улучшения благодаря подключаемому модулю Query Monitor. Более того, они могут обнаружить плагин или другие активы веб-сайта, которые потребляют ненормальный объем ресурсов или (в худшем случае) конфликтуют с остальными основными файлами.

Query Monitor — идеальное решение для выявления узких мест, которые можно устранить с помощью улучшенных фрагментов кода, альтернатив или, в некоторых случаях, полной замены скриптов/плагинов. Следовательно, это выгодно для владельцев веб-сайтов и разработчиков, заинтересованных в улучшении оптимизации веб-производительности (WPO).

Рассмотрим простую задачу разработчика — узнать время загрузки страницы и количество активных запросов на странице.

WordPress предлагает две простые функции: get_num_queries () и timer_stop() . Как понятно из названия, get_num_queries() возвращает количество запросов к базе данных, сгенерированных во время выполнения, а timer_stop() возвращает количество секунд, необходимых для генерации страницы.

Как использовать WordPress Query Monitor [Простые шаги]

После того, как вы установили и активировали Query Monitor, вам необходимо выполнить следующие шаги:

  • Перейти к Плагины .
  • Нажмите Установленные плагины Монитор запросов .
  • Щелкните Настройки .
  • Нажмите кнопку « Установить файл cookie аутентификации
    ».

Теперь давайте подробно рассмотрим каждый раздел плагина Query Monitor.

Обзор

На первой вкладке представлен обзор вашего веб-сайта. Он показывает время генерации страницы, пиковое использование памяти, время запроса к базе данных и запросы к базе данных.

Запросы к базе данных

Запрос к базе данных инициируется всякий раз, когда пользователь запрашивает или пытается предоставить какую-либо информацию.

Query Monitor отслеживает этот запрос и отображает его в журналах, чтобы вы как пользователь могли видеть, какие запросы были выполнены успешно, а какие нет. Он также позволяет фильтровать по типу и компоненту запроса.

Запрос

Функция запроса показывает переменную запроса для текущего пользователя и выделяет пользовательский запрос . Он также показывает связанных строк запроса , присутствующих в запросе.

Экран администратора

Раздел экрана администратора показывает действия, происходящие в панели администратора WordPress. В нем перечислены компоненты, доступные из панели администратора, и отображается ошибка из-за недоступности любого файла PHP.

Сценарии

При посещении вкладки Сценарии в Мониторе запросов на ней перечислены все поставленные в очередь сценарии и стили, включенные в запрос. Он также выделяет любой сломанный или не отвечающий скрипт из-за внешней зависимости.

Стили

Иногда из-за внешней зависимости определенный файл CSS не загружается и нарушает макет вашей веб-страницы. Этот раздел посвящен таблицам стилей CSS и поможет вам определить исходные файлы, лежащие в основе любого запроса.

Хуки и действия

Хуки и действия играют важную роль на любом сайте WordPress, поскольку они позволяют создавать пользовательские функции с использованием предопределенных элементов управления, предоставляемых WordPress. Иногда это может привести к поломке вашего веб-сайта, а устранение неполадок может быть утомительным.

Спасибо Query Monitor со встроенным инструментом для выявления ошибок, вызванных хуками и действиями, что позволяет фильтровать действия и хуки по ядру, теме или плагину. Он также дает вам полное имя и ссылку, которые легко найти внутри кода для целей отладки.

Языки

В случае многоязычного веб-сайта вкладка «Язык» определяет все поврежденные или недоступные файлы и отображает языковые настройки.

Вызовы HTTP API

На этой вкладке отображаются все запросы со стороны сервера и код ответа, журнал тайм-аутов и невыполненные запросы. Это полезная функция, поскольку она позволяет вам видеть ответ в режиме реального времени и помогает эффективно отлаживать код на стороне сервера.

Временные обновления

WordPress может кэшировать ответ API в своей базе данных, поскольку некоторые API допускают определенное количество запросов в данный момент времени. Transient Updates показывает эти переходные процессы, а также отображает размер и компонент.

Проверка возможностей

По умолчанию это неактивно, и его можно активировать, поместив код в файл wp-config.php. Проверка возможностей выполняет проверку возможностей для каждого пользователя на странице и отображает параметры вместе с результатом.

Среда

Это полный обзор среды WordPress, содержащий разделы PHP, База данных и WordPress. В каждом разделе отображается полезная информация о среде, такая как версия MySQL, лимит памяти PHP, версия WordPress и т. д.

Условия

Функция условий показывает все условия WordPress для текущего запроса.

Подведение итогов!

Плагин WordPress Query Monitor фокусируется на отладке и предоставляет всю необходимую информацию в простой для понимания форме. Плагин идеально подходит для быстрого определения плагинов, тем или функций, влияющих на производительность веб-сайта.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *