Создание пользовательского запроса WordPress
Сегодня мы рассмотрим WordPress Query. Даже если WordPress задокументировал свою функцию QueryЭто очень пугающе и, вероятно, нецелесообразно погружаться в каждый из разделов. Это ярлык, который вам нужен.
В этом посте мы обсудим несколько практических советов по применению WordPress Query, которые вам, возможно, придется часто использовать в вашей теме.
Рекомендуемое чтение: поиск в WordPress: полезные плагины и фрагменты
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Основной WP_Query
Короче говоря, WP_Query – это класс для запроса постов и страниц WordPress. Мы можем создать новый класс WP_Query в теме WordPress для запроса постов (или страниц) в настраиваемой спецификации.
Во-первых, давайте взглянем на index.php в вашем каталоге тем; Вы должны найти следующий кусок кодов.
Это называется петля, По умолчанию отображаются все опубликованные сообщения.
Давайте посмотрим, как мы можем настроить его с помощью WP_Query. В этом примере мы собираемся исключить сообщения из определенной категории.
Сначала мы устанавливаем новый WP_Query в переменную.
$ my_query = new WP_Query ();
Внутри него мы можем назначить идентификатор категории, которую мы хотим исключить. Например:
$ my_query = new WP_Query (‘cat = -1, -5’); // исключаем категории 1 и 5
Затем мы ссылаемся на переменную в цикле следующим образом.
have_posts ()): while ($ my_custom_query-> have_posts ()): $ my_custom_query-> the_post (); ?>
<?php _e('Sorry, no posts matched your criteria.'); ?>
</p>
Обратите внимание, что когда у вас есть несколько пользовательских запросов, особенно на одной странице, вы должны заключить их в wp_reset_postdata ().
Назначение запроса с WP-PageNavi
WP-PageNavi это, пожалуй, самый популярный плагин для нумерованной нумерации страниц в WordPress. Большинство людей, однако, сталкиваются с ошибкой, когда они используют его вместе с пользовательским WP_Query. Нумерация страниц просто не работает.
Начиная с версии 2.74, WP-PageNavi предоставляет возможность назначать пользовательский запрос. Взяв приведенный выше пользовательский запрос в качестве примера, мы можем сделать следующее:
wp_pagenavi (array (‘query’ => $ my_query));
… и это должно решить ошибку.
Cache Query
Следует отметить, что если у вас есть несколько запросов, особенно на одной странице, у вас будет несколько нагрузок на сервер, которые могут повлиять на производительность загрузки вашего сайта.
Одним из способов его оптимизации является использование Transient API. В этом случае мы используем его для кэширования запрашиваемого объекта из WP_Query и сохранения его в течение определенного периода времени.
Таким образом, мы можем ускорить время загрузки запросов, получая и обрабатывая кэшированные данные, а не запрашивая их при каждой загрузке страницы.
Вот пример кода, где кеш хранится 24 часа.
if (! ($ my_query = get_transient (‘my_query_cache’)))) {
$ my_query = new WP_Query (‘cat = -1, -5’);
set_transient (‘my_query_cache’, $ my_query, DAY_IN_SECONDS);
}
Заворачивать
С WP_Query мы можем создавать простые или более сложные запросы. Если написание пользовательского WP_Query кажется вам сложным, есть инструмент под названием WP_Query Generator это облегчит.
Я надеюсь, что вы найдете этот совет полезным, и если вы хотите углубиться в эту тему, ниже приведены некоторые ссылки:
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)