вы можете воспользоваться услугами веб-студии filandor и Заказать Сайт Визитку. Студия работает много лет и предоставляет комплексные услуги.
Самое замечательное в WordPress то, что он не только очень удобен для пользователя, но и очень мощный. Одним из примеров мощности и универсальности WordPress в действии является класс WP_Query. В этом руководстве я познакомлю вас с тем, что такое WP_Query, отвечу на несколько распространенных вопросов и предоставлю вам быстрый и простой инструмент для создания запросов.
Оглавление
Что такое запрос WordPress?
Как один из наиболее важных аспектов кодовой базы WordPress, класс WP_Query предоставляет способ безопасного и простого выполнения сложных запросов к базе данных. Он определяет запрос для конкретной страницы и подтягивает нужные посты. Кроме того, он сохраняет информацию о сделанных им запросах, что помогает оптимизировать страницы и устранять неполадки.
Варианты использования запросов WordPress
Запрос WordPress можно использовать для очень многих вещей. Первый пример ниже — это WP_Query для отображения постов из Музыка категория:
<?php
// The Query
$the_query = new WP_Query( 'category_name=music' );
?>
Однако этот код сам по себе не будет отображать сообщения. Для этого нам нужно использовать цикл WordPress. Например:
<?php
// The Query
$the_query = new WP_Query( 'category_name=music' );
// The Loop
if ( $the_query->have_posts() ) {
echo '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
?>
В следующем примере WP_Query используется для отображения списка всех сообщений, написанных конкретным автором в этом году:
<?php
// Get the year we're in.
$current_year = date( 'Y' );
// Setup arguments.
$args = array(
// Get the author with the nickname "dave".
'author' => dave,
// Get his posts from this year.
'year' => $current_year
);
// Instantiate new query instance.
$my_query = new WP_Query( $args );
?>
Эти примеры лишь касаются поверхности того, что WP_Query. Это мощный инструмент для написания расширенных и сложных запросов. Вы можете использовать его для создания циклов внутри циклов, известных как вложенные циклы. Разработчики WordPress используют его в темах и плагинах для отображения постов.
Кодекс WordPress содержит полный список параметров WP_Query.
Генератор запросов WP
Работа с пользовательскими запросами WordPress может быть сложной, особенно если вы новичок в языках программирования и вам нужно реализовать несколько методов запроса для используемого вами типа записи.
Подписка Crocoblock уже предоставляет различные виджеты для отображения пользовательских типов сообщений, таких как виджет Listing Grid в JetEngine, Smart Posts Tiles, Smart Posts List в JetBlog и Posts в JetElements.
Однако, хотя виджет/блок Listing Grid имеет надежные методы запросов, которые всегда под рукой, вы не можете использовать настраиваемые типы запросов для виджетов подключаемого модуля JetBlog или настраиваемых сообщений, отображаемых с помощью подключаемого модуля JetElements.
Чтобы решить эту проблему, Crocoblock создал простой в использовании бесплатный Генератор запросов WP инструмент, который позволяет создавать пользовательские запросы, которые можно легко применять к ленте динамических сообщений.
Давайте узнаем, как вы можете использовать генератор запросов WP для создание пользовательских запросов.
Как работает генератор запросов WP
Генератор запросов WordPress разделен на разделы, посвященные различным параметры запроса. Когда вы устанавливаете их, они автоматически добавляются в код сгенерированного запроса. Чем больше параметров вы используете, тем длиннее и сложнее он становится.


Когда вы используете «мета» или же «tax_query», вы можете добавить несколько параметров и установить отношение, применяемое для запроса сообщений.
Как только все будет сделано, у вас будет два варианта за использование кода в сгенерированном блоке запроса.
JSON
Используйте JSON для получения сгенерированного запроса в формате JSON в виджетах JetPlugins. Нажмите на Скопировать в буфер обмена кнопку для сохранения кода.
Откройте страницу редактирования Elementor, нажмите «Редактировать» на одном из виджетов, предоставляющих возможность отображения постов (Список смарт-постов, Плитки смарт-постов, или сообщения), и здесь найдите Пользовательский запрос заблокировать Контент > Общие.
Включить Использовать пользовательский запрос вариант и вставьте сгенерированный код в Установить пользовательский запрос поле. Посты будут автоматически запрашиваться с использованием заданных параметров.
PHP
Используйте PHP для получения массива аргументов запроса и используйте их в своей работе всякий раз, когда вы добавляете WP Query в PHP.




Чтобы использовать сгенерированный массив аргументов, нажмите кнопку Скопировать в буфер обмена и вставьте код в соответствующий файл .php.
Установка общих параметров




Когда вы откроете инструмент WP Query Generator, вы будете перенаправлены в раздел «Общие параметры». Здесь вы сможете установить:
- Тип сообщения – здесь вам нужно будет ввести слаг типа сообщения, например, почта, службатак далее.
- Статус сообщения – нажмите на поле, чтобы выбрать статус для запроса сообщений, используя его (например, публиковать, черновиктак далее.).
- Заказ — выбирать АСК или же DESC значение для сортировки сообщений в порядке возрастания или убывания.
- Сортировать по – здесь вы можете выбрать параметр, который будет использоваться для установки почтового заказа (например, выбрать свидание параметр и порядок ACS для отображения сообщений в порядке от старых к новым).
Параметры пагинации




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




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




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




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




Этот раздел позволяет использовать пользовательские термины таксономии для запроса сообщений. Здесь вы можете добавить несколько типов таксономии и использовать определенные термины таксономии для получения необходимых сообщений или исключения тех, которые вы не хотите отображать.
Каждый запрос таксономии (или tax_query) имеет набор операторов (IN, NOT IN, AND, EXISTS, NOT EXISTS), чтобы определить, следует ли включать или исключать сообщения с определенными терминами.
Когда вы добавляете более одного tax_query, вы также можете выбрать связь между запросами:
- А ТАКЖЕ – используйте это для запроса сообщений, которые удовлетворяют всем заданным запросам таксономии.
- ИЛИ ЖЕ — используйте это для запроса сообщений, которые удовлетворяют хотя бы одному из запросов.
Мета параметры




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




Используйте этот блок, чтобы получить доступ к дополнительным параметрам запроса и применить их к вашей ленте сообщений.
- Имеет пароль – здесь вы можете указать, хотите ли вы получать сообщения с защитой паролем или без нее.
- Почтовый пароль — здесь вы можете указать, хотите ли вы показывать только сообщения с определенным паролем.
- Количество комментариев – показывать только те посты, к которым есть комментарии. Вы можете указать количество комментариев или определить, должны ли отображаемые сообщения иметь больше комментариев, чем заданное значение (например, «>=10» будет получать только сообщения, которые имеют не менее 10 комментариев).
- Разрешение пользователя – здесь вы можете определить, будут ли запрошенные сообщения отображаться только для пользователей с определенными разрешениями (в ролях пользователей).
- Почтовый тип пантомимы — здесь вы можете определить типы MIME сообщений, чтобы указать типы сообщений для запроса.
Часто задаваемые вопросы
Это класс, предоставляемый WordPress. Поскольку это класс, вы можете быстро получить доступ к переменным, функциям и проверкам, включенным в основной код WordPress. Это отличная новость, поскольку это означает, что вам не нужно писать весь код самостоятельно, что делает ваш код более надежным и эффективным.
Это можно сделать несколькими способами, либо изменив основной запрос, либо создав новый.
При изменении основного запроса вы можете:
1) Используйте хук действия pre_get_posts чтобы добавить функцию либо с помощью плагина, либо путем добавления функции в файл функций темы. Комбинируя его с условным оператором, вы можете гарантировать, что он работает только на страницах, которые отображают определенные типы контента.
2) Используйте query_posts(). Не используйте этот, потому что он неэффективен и может быть ненадежным способом изменить основной запрос. Это на самом деле не изменяет основной запрос. Вместо этого он отбрасывает его и запускает снова, чтобы повторно запустить основной запрос с внесенными вами изменениями. В результате ваш сайт будет работать медленнее и даже может зависнуть.
Чтобы создать новый запрос, вы можете использовать один из следующих методов:
1) Класс WP_Query является наиболее гибким и мощным способом создания нового запроса.
2) Тег шаблона get_posts(). Это используется для получения списка сообщений, например, для отображения на боковой панели. Для этого он использует класс WP_Query, и вы можете указать, какие публикации вы хотите, используя параметры.
3) Тег шаблона get_pages(). Это то же самое, что и get_posts(), но для страниц вместо сообщений.
Кроме того, вы можете использовать инструмент WP Query Generator в Crocoblock.
Suppress_filters запрещает фильтрам изменять запрос.
Подводя итоги
Ну вот. Я не только познакомил вас с WP_Query. Я также познакомил вас с мощным бесплатным инструментом WordPress для быстрого и простого создания пользовательских запросов WordPress.
Неважно, работаете ли вы с Elementor или просто ищете способ упростить работу с PHP. Все, что вам нужно сделать, это использовать инструмент WP Query Generator и отображать сообщения, используя любой тип запроса, который вы хотите! Генератор мгновенно создаст запрос, используя ваши пользовательские аргументы, значения и операторы.
Я надеюсь, что вы нашли это руководство по WordPress Query полезным.