Где и какой из 3-х вариантов циклов использовать:
query_posts() — если нужно изменить/подправить стандартный вывод записей на страницах WordPress. Можно использовать 1 раз на странице;
get_posts() — если нужно вывести записи из Базы Данных. Можно использовать сколько угодно раз на странице;
WP_Query() — во всех других случаях когда не подошли query_posts() и get_posts(). Класс WP_Query() является ядром query_posts() и get_posts() и может быть использован для каких-либо сложных случаев вывода.
//WP_Query()
<?php
$args = [
'post_type' => 'business_sercvice',
'posts_per_page' => 3,
//'offset' => 3, - после какого поста выводить
'order' => 'ASC'
];
$query1 = new WP_Query($args);
if($query1->have_posts()){
while($query1->have_posts()){
$query1->the_post(); ?>
<div class="grid_4">
<?php the_post_thumbnail(); ?>
<h3><?php the_title(); ?></h3>
<?php the_content(); ?>
<a href="<?php the_permalink(); ?>" class="btn">Read more</a>
<br><br>
</div>
<?php }
wp_reset_postdata();
}
else echo 'Записей нет.';
// echo "<pre>";
//print_r($query);
// echo "</pre>";
?>
//query_posts()
<div>
<?php
$args = [
'post_type' => 'business_sercvice',
'posts_per_page' => 3,
//'offset' => 3, //- после какого поста выводить
'order' => 'ASC'
];
$custom_posts = get_posts( $args ); ?>
<?php foreach( $custom_posts as $post ) : setup_postdata($post); ?>
<div class="grid_4">
<?php the_post_thumbnail(); ?>
<h3><?php the_title(); ?></h3>
<?php the_content(); ?>
<a href="<?php the_permalink(); ?>" class="btn">Read more</a>
</div>
<?php endforeach; wp_reset_postdata(); ?>
</div>