Разное

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

09.12.2022

Как настроить экспорт 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 , что делает его рекомендуемым свойством в теме

Запрос =

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

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

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

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

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

Генератор запросов WP. Ваш актив в создании сложных запросов | by Crocoblock.com

Работа с пользовательскими запросами может быть сложной, особенно если вы новичок в языках программирования. Подписка CrocoBlock теперь предоставляет простой в использовании инструмент WP Query Generator, который позволяет создавать пользовательские запросы, которые можно легко применять к ленте динамических сообщений.

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

Как работает генератор запросов WP

Генератор разделен на несколько разделов, посвященных различным параметрам запроса. Когда вы устанавливаете их, они автоматически добавляются в код сгенерированного запроса. Чем больше параметров вы используете, тем длиннее и сложнее он становится.

Когда вы используете «meta» или «tax_query», вы сможете добавить сразу несколько параметров и установить отношение, которое будет применяться для запроса сообщений.

После того, как все будет сделано, у вас будет два варианта использования кода в блоке «Сгенерированный запрос»:

JSON

  1. Используйте JSON, чтобы получить сгенерированный запрос в формате JSON, чтобы использовать его в виджетах CrocoBlock Jet. Вам нужно будет нажать кнопку «Копировать в буфер обмена», чтобы сохранить код.
  2. Откройте страницу редактирования Elementor, нажмите «Изменить» на одном из виджетов, которые предоставляют возможность отображать сообщения (Список умных сообщений, Плитки умных сообщений или сообщения), и здесь найдите блок «Пользовательский запрос» в «Контент> Общие».
  3. Включите опцию «Использовать пользовательский запрос» и вставьте сгенерированный код в поле «Установить пользовательский запрос».

Сообщения будут автоматически запрашиваться с использованием заданных параметров.

PHP

Используйте PHP для получения массива аргументов запроса и используйте их в своей работе всякий раз, когда вы собираетесь добавить WP Query в PHP.

Чтобы использовать сгенерированный массив аргументов, нажмите кнопку «Копировать в буфер обмена», а затем вставьте код в нужный файл .php.

Установка общих параметров

При первом открытии инструмента WP Query Generator вы будете автоматически перенаправлены в раздел «Общие параметры». Здесь вы сможете установить:

  • Тип поста — здесь вам нужно ввести слаг типа поста, например, «пост», «услуга» и т. д.
  • Статус поста — нажмите на поле чтобы выбрать статус для запроса сообщений, используя его (например, «опубликовать», «черновик» и т. д.).
  • Порядок — выберите значение ASC или DESC для сортировки сообщений по возрастанию или по убыванию.
  • Сортировать по — здесь вы можете выбрать параметр, который будет использоваться для установки порядка горшков (например, выберите параметр «дата» и порядок ACS, чтобы показывать сообщения от самых старых к самым новым в прямом порядке).

Параметры пагинации

  • Сообщений на странице — введите количество сообщений, которое вы хотите отображать на 1 странице (например, «5», чтобы отобразить только 5 сообщений из всех запрашиваемых сообщений).
  • Смещение — используйте этот параметр, чтобы скрыть часть постов, которые уже отображались (например, «1» скроет от отображения первый пост из запроса).
  • Paged — здесь вы должны указать номер страницы, на которой вы хотите показывать сообщения (в случае, если вы хотите, чтобы они отображались на этой конкретной странице).
  • Страница — здесь вы можете установить номер страницы, которая будет отображаться на статической главной странице.
  • Игнорировать прикрепленные сообщения — включите эту опцию, чтобы запрос работал без учета сообщений, установленных как прикрепленные.

Параметры публикации и страницы

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

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

Параметры автора

Здесь вы можете определить автора по ID или имени, чтобы вытягивать сообщения, опубликованные одним или несколькими авторами.

Параметры категории и тега

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

Например, чтобы получить сообщения, относящиеся к категории «Очерки», но исключить те, которые также имеют категорию «Документальная литература», вам нужно будет добавить идентификатор категории «Эссе» в поле «Категория в» и добавить «Документальная литература». Идентификатор категории в поле «Категория не в поле».

В этом случае вы получите только сообщения, которые входят в категорию «Очерки» и не попадают в категорию «Документальная литература» одновременно (сообщения, которые относятся к категории «Очерки» и «Документальная литература»). художественная литература» при этом будут исключены).

Налоговый запрос

Этот раздел позволяет использовать пользовательские термины таксономии для запроса сообщений.

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

Каждый запрос таксономии (или tax_query) имеет набор операторов (IN, NOT IN, AND, EXISTS, NOT EXISTS), чтобы определить, должны ли быть включены или исключены сообщения, содержащие определенные термины.

Когда вы добавляете более одного tax_query, вы также можете выбрать связь между запросами:

  • И — используйте его для запроса постов, удовлетворяющих всем заданным запросам таксономии.
  • ИЛИ — используйте для запроса постов, удовлетворяющих хотя бы одному из запросов.

Параметры мета-запроса

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

  1. Чтобы создать новый метазапрос, вам нужно будет добавить идентификатор для метаполя (также называемого настраиваемым полем) или получить его из базы данных, а затем ввести значение для использования в методе запроса.
  2. В блоке «Сравнить» у вас будет набор доступных операторов, которые позволяют запрашивать сообщения, которые имеют значения в определенном пользовательском поле, которые равны, меньше или больше установленного значения и т. д. Например, вы можете запрашивать продукты, цены которых выше или равны 5 долларам, и исключать все остальные.
  3. Если вы добавите несколько параметров метазапроса, вы сможете определить связь между ними с помощью операторов И и ИЛИ (они работают так же, как и в tax_query).

Параметры запроса даты

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

Не стесняйтесь добавлять несколько параметров, используя кнопку «Добавить элемент».
Также имеется блок «Отношение» с операторами «И» и «ИЛИ» для определения временного интервала постов, которые должны быть опрошены.

Разные параметры

Используйте этот блок для доступа к дополнительным параметрам запроса и применения их к вашей ленте сообщений.

  • Has Password — здесь вы можете указать, хотите ли вы получать посты с защитой паролем или без нее.
  • Пароль сообщения — здесь вы можете определить, хотите ли вы показывать только сообщения, которые имеют определенный пароль.
  • Счетчик комментариев — чтобы отображались только сообщения с комментариями, вы можете указать количество комментариев или определить, должны ли отображаемые сообщения иметь количество комментариев больше определенного значения (например, «>=10» будет получить только те сообщения, которые имеют не менее 10 комментариев или даже больше).
  • Разрешение пользователя — здесь вы можете определить, будут ли запрошенные сообщения отображаться только для пользователей с определенными разрешениями (в ролях пользователей).

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

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