Цикл WordPress

Готовые решенияКомментариев нет

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

Стандартный цикл wordpress (для разработчика)

<?php

// задаем нужные нам критерии выборки данных из БД
$args = array(
	'posts_per_page' => 5,
	'orderby' => 'comment_count'
);

$query = new WP_Query( $args );
<?php


// Цикл
if ( $query->have_posts() ) {
	while ( $query->have_posts() ) {
		$query->the_post();
		echo '<li>' . get_the_title() . '</li>';
	}
} else {
	// Постов не найдено
}
/* Возвращаем оригинальные данные поста. Сбрасываем $post. */
wp_reset_postdata();

?>

Список параметров для цикла можно посмотреть тут:

  1. http://wp-kama.ru/function/wp_query
  2. https://codex.wordpress.org/Class_Reference/WP_Query

Стандартный цикл wordpress для обычных страниц

<?php if( have_posts() ){ while( have_posts() ){ the_post(); ?>

	<div <?php post_class(); ?> id="post-<?php the_ID(); ?>">
		<h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
		<?php the_content(); ?>
	</div>

	<?php } /* конец while */ ?>

	<div class="navigation">
		<div class="next-posts"><?php next_posts_link(); ?></div>
		<div class="prev-posts"><?php previous_posts_link(); ?></div>
	</div>

<?php
} // конец if
else {
	echo "<h2>Записей нет.</h2>";
}
?>

Цикл на основе query_posts()

<?php
global $query_string; // параметры базового запроса
query_posts( $query_string.'&cat=-6,-9&order=ASC&posts_per_page=20'); // базовый запрос + свои параметры 

[стандартный цикл вордпресс, который указан выше]

wp_reset_query(); // сброс запроса
?>

Альтернативный вариант записи запроса для цикла

<?php
$query = new WP_Query('cat=9&nopaging=1'); // указываем категорию 9 и выключаем разбиение на страницы (пагинацию)
if( $query->have_posts() ){
	while( $query->have_posts() ){ $query->the_post();
	?>
		<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
		<?php the_content(); ?>
	<?php
	}
	wp_reset_postdata(); // сбрасываем переменную $post
} 
else echo 'Записей нет.';
?>

Цикл на основе get_posts()

<?php
global $post; // не обязательно
$args = array('category' => 9); // 5 записей из рубрики 9
$myposts = get_posts( $args );
foreach( $myposts as $post ){ setup_postdata($post);
	// стандартный вывод записей
}
wp_reset_postdata(); // сбрасываем переменную $post
?>

 


Будь первым кто прокомментирует статью.

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

Войти с помощью: