Создание пользовательского запроса WordPress

Сегодня мы рассмотрим WordPress Query. Даже если WordPress задокументировал свою функцию QueryЭто очень пугающе и, вероятно, нецелесообразно погружаться в каждый из разделов. Это ярлык, который вам нужен.

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

Программы для 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 (); ?>

<a href = «https://www.hongkiat.com/«>

    <?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, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

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

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