Что делает коллаут в теме wordpress
Опубликовано: 28.12.2020
Методов как воткнуть новейшую ветку цикла сильно много, но некие из их могут вызывать конфликт системы, в итоге чего могут появляться различного рода баги. Предлагаю вашему вниманию свой вариант вставки цикла в хоть какое место в теме:
global $post;
$tmp_post = $post;
global $more;
$tmp_more = $more;
$tpost=get_posts('cat=4&showposts=5');
if($tpost):
?>
Давайте разберём код построчно:
global $post;
$tmp_post = $post;
global $more;
$tmp_more = $more;
Здесь мы заносим значения глобальных переменных global $post - хранит информацию о текущем посте, страничке, категории и т. д. - информацию, которую записал туда основной цикл
global $more - это значение true/false (демонстрировать/нет) весь текст. false - будет обрезать контент до тега
$tpost=get_posts('cat=4&showposts=5'); - создаём новейшую подборку, категория 4, демонстрировать 5 постов
if($tpost): - проверяем на наличие хотя бы одной записи в выборке
- проходим всю подборку в цикле WordPress
функция setup_postdata($post); позволяет занести данные в глобальные переменные $id, $authordata, $currentday, $currentmonth, $page, $pages, $multipage, $more, $numpages , что позволит нам использовать впрямую: , ,
Без использования функции выше пришлось бы писать более сложные функции получения и вывода инфы о ссылке, контенте и т. д.
- выводим ссылку на пост и его заголовок
- указываем что необходимо обрезать текст до тега и выводим текст
- закрываем цикл
- возвращаем значения для текущей странички в глобальную переменную
- чистим после себя
Вставка собственного цикла в WordPress позволяет выводить на главной и внутренних страничках анонсы и статьи в сайдбаре, фотогалерею и почти все дргое.
Этот пример использования нового цикла в теме WordPress позволяет выводить информацию в всякую часть странички: сайдбар, шапка, футер, основная страничка либо неважно какая другая страничка, категория, метка и т. д.
При помощи этого цикла можно вклинивать цикл в цикл wordpress, вот приблизительно так:
global $post;
$tmp_post = $post;
global $more;
$tmp_more = $more;
$tpost=get_posts('cat=4&showposts=5');
if($tpost):
?>
Вот так просто можно воткнуть несколько ветвей цикла в основной цикл на WordPress.
На этом у меня пока всё, всем спасибо за внимание.
В вебе нас отыскивают по запросам: воткнуть цикл в цикл WordPress, воткнуть цикл в сайдбар, вывести ветку на главной, вывести анонсы на главной WordPress.