Июл 13, 2015 - 0 Comments - Создание сайтов -

Цикл WordPress — руководство по эксплуатации для начинающих

Код, который выводит на экран посты вашего блога на главной странице, широко известен среди пользователей как WordPress Цикл (WordPress Loop) или просто Цикл (The Loop) в WordPress Codex.

Цикл — это самая важная часть почти в любой теме WordPress. Он отвечает за вывод постов в блоге на текущую страницу в соответствии со всеми параметрами.

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

Смотрите также:

  • Цикл WordPress — Что это такое и как его использовать?
  • Советы для начинающих разработку сайта на WordPress
  • Что такое Теги шаблонов в WordPress?
  • Знакомство с условными тегами (Conditional Tags) в WordPress
  • Знакомство с глобальными переменными в WordPress

Значение Цикла WordPress

Для начала, давайте взглянем на базовый код Цикла. Чуть ниже мы разберемся с каждой строчкой отдельно.

//Check If posts exist, if yes then execute while loop
 <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
//Display Posts code here
           <h2><?php the_title() ;?></h2> //Display the title of the post
            <?php the_post_thumbnail(); ?> //Display the post thumbnail AKA featured image
            <?php the_excerpt(); ?> //Display excerpt of the post
<?php endwhile; else : ?> //End the while loop
                       <p><?php _e( ‘No Posts To Display.’ ); ?></p>
<?php endif; ?> //end If statement

В коде у нас есть оператор «if» и цикл «while«. Оператор «if» проверяет, есть ли посты, доступные для отображения. Функция WordPress «have_posts» является булевой и возвращает истинное или ложное значение (true или false). Если посты найдены, то возвращается значение «true» и тогда код переходит к циклу «while«.

В цикле “while” также есть функция «have_posts«, которая возвращает значение “true” ровно столько раз, сколько есть готовых к показу постов согласно с настройками вывода постов в Консоли в меню Настройки → Чтение.

Затем код переходит к WordPress функции «the_post«. Эта функция позволяет нам в дальнейшем использовать другие функции для извлечения элементов поста и работы с ними. В указанном выше примере мы использовали такие функции:

  • the_title — извлекает заголовок поста
  • the_post_thumbnail — извлекает изображение из поста
  • the_excerpt — извлекает отрывок (анонс) содержимого поста

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

Гиперссылки в заголовках постов

Скорее всего, вы уже видели такие заголовки постов, которые содержат ссылки непосредственно на сами посты. После нажатия на гиперссылку вы переходите к просмотру поста на отдельной странице. У большинства тем есть файл под названием single.php, который вызывается именно тогда, когда вы открываете сам пост.

Мы будем использовать WordPress функцию «the_permalink» и прикрепим к ней функцию «the_title«, чтобы создать линк.

Пример:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
           <h2><a href=”<?php the_permalink(); ?>”><?php the_title() ;?></a></h2>
            <?php the_post_thumbnail(); ?>
            <?php the_excerpt(); ?>
<?php endwhile; else : ?> //End the while loop
             <p><?php _e( ‘No Posts To Display.’ ); ?></p>
<?php endif; ?>

Выводим контент поста, автора, дату и рубрику при помощи Цикла

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

  • the_content — выводит на экран полное содержимое блога
  • the_author — выводит на экран имя автора
  • the_time — выводит на экран время и дату
  • the_category — выводит на экран категорию поста

Ваш Цикл будет выглядеть примерно таким образом:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
           <h2><?php the_title() ;?></h2>
           <?php the_author(); ?> <?php the_time(‘F j, Y’); ?> <?php the_category(); ?>
           <?php the_post_thumbnail(); ?>
           <?php the_content(); ?>
<?php endwhile; else : ?> //End the while loop
             <p><?php _e( ‘No Posts To Display.’ ); ?></p>
<?php endif; ?>

Использование условных тегов

Существует достаточно много тегов, которые используются для проверки тех или иных условий. К счастью, в WordPress эти теги довольно очевидны и не требуют дополнительных разъяснений. К примеру, тег «is_home» проверяет, является ли текущая страница домашней (главной страницей блога). Также мы можем использовать условные теги для инициирования определенных циклов.

Например, если мы прикрепляем наш Цикл внутри условия “if”, которое проверяет, является ли текущая страница главной, то цикл будет выполняться только на главной странице.

<?php if (is_home()) {  //Returns true if current page is main/home page
        <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
         <h2><?php the_title() ;?></h2>
           <?php the_post_thumbnail(); ?>
           <?php the_excerpt(); ?>
<?php endwhile; else : ?>
          <p><?php _e( ‘No Posts To Display.’ ); ?></p>
<?php endif; ?>
} ?>

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

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

  • is_admin() — возвращает значение true, если админ вошел на сайт
  • is_single() — возвращает значение true, если пост кто-то просматривает запись
  • is_page() — возвращает значение true на некоторых страницах, например is_page(‘about-us’)
  • is_category() — возвращает значение true на страницах одной категории, например is_category(‘wordpress’)
  • is_tag() — возвращает значение true при использовании тегов
  • is_author() — проверяет конкретного автора и возвращает значение true, например is_author («Имя автора»)
  • is_404() — возвращает значение true, если страница не существует. Может использоваться для страниц 404 (404 pages), для выполнения кастомного Цикла
  • has_excerpt() — возвращает значение true, если пост имеет анонс.

Заключение

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

Источник: cloudways.com


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

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

Человек ? *