Циклы в WordPress нужны для того, чтобы выводить контент блога (записи и страницы). В зависимости от страницы, на которой вы находитесь, цикл будет вставлять соответствующее содержимое. То есть на на странице с рубриками будет выводиться содержимое рубрик, на странице с постом — сам пост, а на главной то, что указано в настройках Параметры > Чтение и так далее.
Начало цикла
<?php while (have_posts()) : the_post(); ?> |
Конец цикла
<?php endwhile; ?> |
Как видите,это обычный PHP-цикл while, а это значит, что его содержимое будет повторяться до тех пор, пока выполняется условие.
В переводе с английского have_posts() означает «есть посты(записи)». Короче говоря до тех пор, пока они есть, цикл будет прокручиваться снова. Чаще всего встречается запись цикла с условием.
Начало цикла
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> |
Конец цикла
<?php endwhile; else: ?> <p>Записей не найдено.</p> <?php endif; ?> |
Содержимое цикла
Я уже говорил, что всё, что находится внутри цикла, будь это php-код или HTML, или и то и другое, будет повторяться для каждой записи.
Также существуют специальные теги для вывода информации о посте:
the_title(); // заголовок the_content(); // контент the_permalink(); // ссылка the_excerpt(); // цитата the_category(', '); // рубрики, в скобках разделитель, например запятая the_author(); // автор the_time('j M Y'); // время и(или) дата публикации, в скобках указывается формат, например 'j M Y G:i' - 'день месяц год часы:минуты' |
А теперь поинтереснее, теги к записи:
the_tags($before, $separator, $after) // теги(метки) |
$before — текст перед тегами, по умолчанию Tags:, $after — текст «после», по умолчанию не выводится ничего, $separator — разделитель тегов, по умолчанию (,) запятая.
Пример:
<?php the_tags('Метки:', ' • ', '<br />'); ?> |
Также можно вывести метки в виде списка:
<?php the_tags('<ul><li>','</li><li>','</li></ul>'); ?> |
Миниатюра (изображение) к записи.
the_post_thumbnail(); |
Только перед тем, как использовать эту функцию, надо включить поддержку миниатюр в вашей WordPress-теме, добавив этот код в файл functions.php:
if ( function_exists('add_theme_support')){ add_theme_support('post-thumbnails'); } |
В том случае, если вы захотите создать свой собственный цикл, то есть например выводить записи из какой-то определённой рубрики, либо вывести определённое количество записей, не зависящих от настроек в админке, либо отсортировать их случайным образом, (и т.д.) то вам следует воспользоваться query_posts() либо WP_Query()
Источник: misha.blog