✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Учебное пособие по темам WordPress для начинающих — Часть 4: Цикл сообщений

27

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

Почтовый цикл

Если вы знакомы с PHP, вы можете узнать, что «цикл» — это техника прохождения каждого элемента в массиве или объекте с помощью for, foreachили while. Цикл в WordPress работает именно так. Но мы будем использовать собственные функции WordPress для зацикливания, чтобы получить некоторые дополнительные преимущества и упрощения.

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

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

Примечание. Даже в шаблонах с одной публикацией или одной страницей вы добавите цикл, хотя мы знаем, что он содержит только одну публикацию! Цикл просто выполняется только один раз.

Вот цикл WordPress во всей красе:

while (have_posts()): the_post(); // Access to each post here endwhile;

Этот фрагмент кода делает две вещи. Часть while(включая endwhile) является зацикленной частью, которая будет зацикливаться до тех пор, пока не будут оставлены какие-либо сообщения. Вторая часть the_post()устанавливает упрощенный и интуитивно понятный доступ к объекту записи внутри цикла. Мы узнаем об этом позже.

Хорошей практикой является обернуть цикл внутри ifпроверки, которая проверяет, действительно ли есть какие-либо сообщения для цикла. Затем мы также можем опционально показать сообщение, если его не было. Почтовый запрос может быть пустым, если вы переходите к пустому архиву категорий или пытаетесь найти что-то, что не имеет совпадений. Это лучшая версия цикла:

Ознакомьтесь с этим фрагментом кода, так как вы будете повторять его всякий раз, когда захотите получить доступ к сообщениям! Давайте реализуем цикл в нашей теме.

Реализация цикла в нашей теме

Давайте добавим цикл в наш index.php, заменив фиктивный текст.

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

Давайте посмотрим, что сейчас происходит в WordPress. Обновите главную страницу. В зависимости от ваших настроек и содержимого вы должны увидеть некоторые заголовки. В моем WordPress у меня есть сообщение по умолчанию «Hello world!» и еще один пост, который я создал под названием «Это еще один пост». Вот что я получаю на главной странице:

Учебное пособие по темам WordPress для начинающих — Часть 4: Цикл сообщений

Если вы попытаетесь посетить страницу с одним сообщением, вы должны увидеть только один заголовок — заголовок сообщения, которое вы просматриваете. Хороший!

Для любопытных…

Если вам интересно, через что проходит цикл и какие параметры WordPress использует для этого запроса, вы можете проверить это. Глобальная переменная, на которую ссылается цикл, называется $wp_query. Вам нужно определить его глобальным, чтобы получить к нему доступ. Попробуйте использовать var_dump(), чтобы распечатать его полное содержимое. Цикл проходит через $wp_query->postsсвойство.

global $wp_query; var_dump($wp_query);

Давайте добавим одну важную деталь к нашему циклу в index.php; способ для пользователя перейти к следующей и предыдущей странице сообщений.

Добавление навигации по циклу сообщений

Имейте в виду, что цикл будет получать количество сообщений, указанное в настройках WordPress > Чтение, всякий раз, когда вы находитесь на странице, на которой отображается несколько сообщений. Если в цикле доступно больше сообщений, чем указано здесь, нам нужен способ навигации между страницами. Для этого мы можем использовать функцию the_posts_pagination().

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

... while (have_posts()): the_post(); the_title(); endwhile; the_posts_pagination(); } else { ...

Эта функция абсолютно ничего не выводит, если постов меньше или равно заданному количеству постов на страницу. Так что не беспокойтесь, если вы думаете, что ошиблись, потому что не видите никакого результата. Когда сообщений больше, чем сообщений на странице, эта функция выводит div, заголовок для программ чтения с экрана (который обычно скрывается с помощью CSS) и несколько ссылок на страницы.

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

Документация по используемым методам

Источник записи: awhitepixel.com

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