WordPress. Цикл. Вывод контента

Цикл. Механизм вывода

Цикл (Loop) — это стандартный механизм написанный на php, который WordPress использует для вывода сообщений через файлы шаблонов темы . Количество извлекаемых сообщений определяется количеством сообщений, отображаемых на странице, которое указано в настройках чтения. В цикле WordPress извлекает каждую запись из базы данных для отображения на текущей странице и форматирует ее в соответствии с инструкциями вашей темы.

Цикл извлекает данные для каждого сообщения из базы данных WordPress и вставляет соответствующую информацию вместо каждого тега шаблона. Любой код HTML или PHP в цикле будет обрабатываться для каждого сообщения .

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

Цикл по умолчанию отображает следующую информацию для каждого сообщения:

Заголовок ( the_title() )
Время ( the_time() )
Категории ( the_category() ).
Вы можете отобразить другую информацию о каждом сообщении, используя соответствующие теги шаблона.

Вы можете использовать цикл для разных целей, например, чтобы:

  • отображать заголовки сообщений и выдержки на главной странице вашего блога;
  • отображать содержимое и комментарии к одному посту;
  • отображать содержимое на отдельной странице с помощью тегов шаблона;
  • отображать данные из настраиваемых типов сообщений и настраиваемых полей.

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

Примеры использования циклов

Основной цикл:

<?php
if ( have_posts() ) {
    while ( have_posts() ) { 
        the_post();
        // Display post content
    }
}
?>

Этот цикл выводит все сообщения выбранные для страницы. Подробнее:

  • Функция have_posts()проверяет, есть ли посты.
  • При наличии сообщений whileцикл продолжает выполняться до тех пор, пока условие в скобках является логически верным. Пока have_posts()остается верным, цикл будет продолжаться.

Использование цикла

Цикл должен быть размещен в index.php, и в любых других шаблонах, которые используются для отображения информации записей. Поскольку вы не хотите дублировать свой заголовок снова и снова, цикл всегда следует размещать после вызова get_header(). Например:

<?php
get_header();
if ( have_posts() ) {
    while ( have_posts() ) { 
        the_post();
        // Display post content
    }
}
?>

Любые теги шаблона , которые вы хотите применить ко всем сообщениям, должны существовать внутри блока цикла.

Исключение: Вы можете включить собственное сообщение 404 «не найдено», которое будет отображаться, если нет доступных сообщений, соответствующих указанным критериям.

Чрезвычайно простой index.phpфайл будет выглядеть так:

<?php
get_header();

if ( have_posts() ) {
    while ( have_posts() ) { 
        the_post();
        the_content();
    }
} else {
    _e( 'Sorry, no posts matched your criteria.', 'textdomain' );
}

get_sidebar();
get_footer();
?>

Что может отображать цикл

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

  • next_post_link()– ссылка на пост, опубликованный в хронологическом порядке после текущего поста
  • previous_post_link()– ссылка на пост, опубликованный в хронологическом порядке перед текущим постом
  • the_category()– категория или категории, связанные с просматриваемой записью или страницей
  • the_author()– автор поста или страницы
  • the_content()– основной контент поста или страницы
  • the_excerpt()– первые 55 слов основного содержания поста, за которыми следует многоточие (…) или ссылка «Подробнее», ведущая к полному посту. Вы также можете использовать поле «Отрывок» сообщения, чтобы настроить длину определенного отрывка.
  • the_ID()– идентификатор поста или страницы
  • the_meta()– настраиваемые поля, связанные с записью или страницей
  • the_shortlink()– ссылка на страницу или пост с использованием URL-адреса сайта и идентификатора поста или страницы
  • the_tags()– тег или теги, связанные с постом
  • the_title()– название поста или страницы
  • the_time()– время или дата поста или страницы. Формат можно настроить с помощью стандартного форматирования функции даты php.

Вы также можете использовать условные теги , например:

  • is_home()– Возвращает true, если текущая страница является домашней.
  • is_admin()– Возвращает true, если включен экран администрирования, в противном случае – false.
  • is_single()– Возвращает true, если на странице в данный момент отображается один пост.
  • is_page()– Возвращает true, если на странице в данный момент отображается одна страница.
  • is_page_template()– Может использоваться для определения того, использует ли страница определенный шаблон, например:is_page_template('about-page.php')
  • is_category()– Возвращает true, если страница или запись имеют указанную категорию, например:is_category('news')
  • is_tag()– Возвращает true, если страница или запись имеют указанный тег
  • is_author()– Возвращает true, если внутри страницы архива автора
  • is_search()– Возвращает true, если текущая страница является страницей результатов поиска.
  • is_404()– Возвращает true, если текущая страница не существует.
  • has_excerpt()– Возвращает true, если запись или страница содержит отрывок.

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

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