Я большой поклонник класса WP_Query: я использую его на нескольких клиентских веб-сайтах для персонализированного получения и отображения данных.

Если вы хотите использовать несколько циклов на странице, лучший способ сделать это - запустить «WP_Query» всякий раз, когда вам нужно выполнить цикл.

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

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

Мы рассмотрим аспекты 3:

 

  • Создайте дочернюю тему и файл шаблона.
  • Создайте часть шаблона для содержимого цикла.
  • Создайте наши петли.

 

Но прежде чем мы узнаем вместе Как установить WordPress блог шаги 7 et Как найти, установить и активировать WordPress тему на своем блоге 

Тогда вернемся к тому, почему мы здесь.

Что вам нужно

Для выполнения этого урока вам потребуется:

 

  • Из установки WordPress для разработки (локально).
  • Редактор кода.
  • Статьи на вашем сайте с несколькими назначенными категориями
  • двадцать шестнадцать тема WordPress
  • Детская тема из двадцати шестнадцати установлена ​​и активирована

 

Этот метод также адаптируется к вашей ситуации и вашим WordPress тема.

Создание детской темы

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

Откройте для себя Как установить WordPress тема ребенка

В папке «wp-content / themes» создайте новую пустую папку, которую вы назовете «tutor-theme». Позже вы можете выбрать имя, которое подходит вам.

В этой папке создайте файл с именем style.css и добавьте следующий код:

/*

Название темы: Тема Туто

URI темы: https://blogpascher.com

Описание: Тема поддержки Tutorial по запуску нескольких циклов при выполнении запроса к базе данных только один раз. Детская тема для темы «Двадцать шестнадцать».

Автор: Эрве

URI автора: https://blogpascher.com

Шаблон: Двадцать шестнадцать

Версия: 1.0

*/

 

@import url ("../twentysixteen/style.css");

Теперь сохраните этот файл и активируйте новый WordPress тема.

Следующим шагом будет создание файла шаблона для категорий, над этим мы и будем работать.

Сделайте копию файла «archive.php» из WordPress тема «Двадцать шестнадцать». Не перемещайте его, а сделайте копию. Переименуйте его в «category.php».

Чтобы пойти дальше, откройте для себя Как управлять файлами и папками WordPress

Теперь это будет файл шаблона для категорий вашего сайта.

Создание нового файла шаблона

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

Давайте также посоветоваться вместе Как перевести ваш сайт WordPress в режим обслуживания

В папке дочерней темы создайте подпапку с названием «include». А внутри создайте новый файл с именем «loop-category.php».

Затем откройте файл «template-parts / content.php» из папок родительской темы (двадцать шестнадцать) и найдите следующий код:

" >

 

 

 

 

 

 ', esc_url (get_permalink ())),' '); ?>

 

 

 

 

 

 

 

 

 / * переводчики:% s: название текущего сообщения * /

 the_content (sprintf (

 __ ('Читать далее '% s ' ', 'двадцать шестнадцать'),

 get_the_title ()

 ));

 

 wp_link_pages (массив (

 'перед' => ' '. __ ('Страницы:', 'двадцать шестнадцать'). ' ',

 'после' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' '. __ ('Страница', 'двадцать шестнадцать'). ' %',

 'separator' => ' , ',

 ));

 ?>

 

 

 

 

 

 edit_post_link (

 Sprintf (

 / * переводчики:% s: название текущего сообщения * /

 __ ('Редактировать '% s ' ', 'двадцать шестнадцать'),

 get_the_title ()

 ),

 ' ',

 ''

 );

 ?>

 

Скопируйте этот код в новый файл «loop-category.php» дочерней темы.

Редактирование файла части шаблона

Цикл «двадцать шестнадцать» показывает больше, чем мне нужно, поэтому я собираюсь изменить этот код. Я просто хочу показать фрагмент, а не контент, поэтому мы собираемся удалить контент.

В чем разница между H1 и SEO-заголовком статьи WordPress? Узнайте, консультируясь с этой статьей.

В вашем новом файле loop-category.php найдите этот код и удалите его:

<div class = "entry-content">

 

 / * переводчики:% s: название текущего сообщения * /

 the_content (sprintf (

 __ ('Читать далее '% s ' ', 'двадцать шестнадцать'),

 get_the_title ()

 ));

 

 wp_link_pages (массив (

 'перед' => ' '. __ ('Страницы:', 'двадцать шестнадцать'). ' ',

 'после' => ' ',

 'link_before' => ' ',

 'link_after' => '',

 'pagelink' => ' '. __ ('Страница', 'двадцать шестнадцать'). ' %',

 'separator' => ' , ',

 ));

 ?>

Другой шаг - заменить функцию «XNUMX_sixteen_excerpt ()» на функцию «the_excerpt ()», поскольку в версии «двадцать шестнадцать» нет ссылки на полную статью.

Смотрите также Как просмотреть последние статьи в конкретной категории

Найдите эту строку:

Замените это на это:

Нам также нужно внести некоторые изменения в теги заголовка.

В части модели измените строку:

', esc_url (get_permalink ())),' '); ?>

Отредактируйте теги H2 для H3:

', esc_url (get_permalink ())),' '); ?>

Зарегистрируйте свою модель. Затем вернитесь в ваш файл category.php, и мы продолжим с ним.

Создание петель

Прежде всего, мы удалим включение кода «двадцать шестнадцать» из нашего файла «category.php», так как нам нужно будет использовать новый файл.

В вашем файле category.php найдите этот код:

get_template_part ('части шаблона / контент', get_post_format ());

И удалите.

Затем мы создадим петли.

В этом примере я покажу все сообщения с тегом «content», используя условный тег «has_tag ()». Это означает, что мне придется пройти три цикла:

 

  • Первая проверка, если запрос разместил элементы с этим тегом.
  • Если это так, второй отображает статьи с этим ярлыком.
  • Третий показывает статьи без этого тега.

 

Между каждым циклом я буду использовать rewind_posts () для перемотки сообщений без сброса запроса: мы всегда работаем с основным запросом каждый раз.

Первый цикл: проверка статей

В вашем файле "category.php" найдите начало цикла:

в то время как (have_posts ()): the_post ();

Над этой строкой определите новую переменную с именем $ count:

$ Count = 0;

Затем внутри этого цикла добавьте этот код:

// проверяем, есть ли сообщения с тегом »

$ tag = 'контент';

if (has_tag ($ tag)) {

 $ count + = 1;

}

Этот код проверяет, есть ли у сообщений метка «содержание», а затем добавляет 1 к счетчику, если это так.

Внутренняя часть цикла будет похожа на это:

// Проверяем сообщения в первом цикле.

$ Count = 0;

в то время как (have_posts ()): the_post ();

 

// проверяем, есть ли сообщения с тегом »

$ tag = 'контент';

if (has_tag ($ tag)) {

 $ count + = 1;

}

 

ENDWHILE;

Второй цикл: восстановление статей с тегом

Следующим шагом будет цикл для отображения статей с этим тегом, только если они есть.

Например, если значение $ count больше, чем 0.

Откройте для себя тоже Как настроить панель WordPress для клиента

Добавьте это условие в цикл:

if ($ count> 0) {

 

 rewind_posts ();

 

 эхо ' Сообщения с тегом '. $ tag. ' ';

 

 

 в то время как (have_posts ()): the_post ();

 

 if (has_tag ($ tag)) { 

 get_template_part ('включает / цикл', 'категория'); 

 }

 

 // Завершаем цикл.

 ENDWHILE;

 

}

Этот код проверяет, что $ count больше нуля, и если это так, перематывает элементы и снова запускает цикл. Для каждого элемента он проверяет, владеет ли он нашей меткой, и, если это так, он вызывает часть только что созданного шаблона.

Третий цикл: просмотр остальных статей

Результатом будет последний цикл для остальных статей. Если в этой категории нет статьи с тегом «контент», будут отображены все статьи в категории.

Учись также Как создать мульти-автор блога и позволит вашим читателям размещать статьи на вашем блоге

Во втором цикле добавьте это:

rewind_posts ();

 

 

// Второй цикл - сообщения не с тегом content

в то время как (have_posts ()): the_post ();

 

 if (! has_tag ($ tag)) { 

 get_template_part ('включает / цикл', 'категория'); 

 }

 

// Завершаем цикл.

конец пока; ?>

Этот последний код перематывает статьи, а затем снова выполняет цикл. На этот раз он проверяет, не имеет ли статья тега «content», а затем отображает содержимое в «части шаблона».

Мы также предлагаем вам открыть Как добавить печатипараметр статьи на WordPress

Теперь вы можете проверить страницу статей вашего блога. Помните, что вы можете изменить фильтры. В этом уроке мы использовали «контент» в качестве фильтра меток, но вы можете использовать тот, который вы выберете.

Откройте для себя также несколько премиальных плагинов WordPress  

Вы можете использовать другие WordPress плагины чтобы придать современный вид и оптимизировать обработку вашего блога или веб-сайта.

Мы предлагаем вам несколько премиальных плагинов WordPress, которые помогут вам сделать это.

1. Социальная стена Addon для UserPro

UserPro может быть намного веселее с социальной стеной. Это то, что дает его расширение Social Wall. С помощью плагина Social Wall вы можете создать стену на своем веб-сайте и предоставить своим участникам новый способ взаимодействия с сообществом.

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

скачать | Демонстрация | веб-хостинг

2. Flipkart Affiliate Plus

Flipkart Affiliate Plus — это Плагин Wordpress модуль, который подключает ваш веб-сайт WordPress к Flipkart Affiliate API. 

Ce Плагин Wordpress С его помощью очень легко импортировать данные о продуктах из Flipkart и обновлять их прямо на вашем веб-сайте. Flipkart Affiliate Plus — первый плагин WordPress для официального API Flipkart. Используя его, вам не нужно будет использовать сторонний API. Таким образом, вы получаете полную выгоду от своей работы.

скачать | Демонстрация | веб-хостинг

3. Действующая Google Analytics для WooCommerce

Actionable Google Analytics - это плагин WordPress, который позволяет использовать некоторые из лучших функций Universal Analytics, в том числе: расширенную электронную торговлю и отслеживание идентификаторов пользователей. Кроме того, этот плагин поддерживает анонимность IP-адресов, возврат средств за продукт, группировку контента, отслеживание форм и т. Д.

Используя этот плагин WordPress, вы сэкономите время на интеграции сложного кода Google Analytics, что позволит вам сосредоточиться на управлении своими данными.

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

скачать | Демонстрация | веб-хостинг

Другие рекомендуемые ресурсы

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

 

 

Заключение

Вот ! Вот и все для этого довольно технического руководства. Надеюсь, мы подробно рассказали, как правильно использовать WP_Query в WordPress. не стесняйтесь поделитесь советом с друзьями в социальных сетях.

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

А пока расскажите нам о своем Комментарии и предложения в специальном разделе.

...