<?php
/*
Template Name: Проекты
*/
?>
<?php get_header(); ?>
<?php
/*
* Получаем все Отзывы
* post_type - название нашего произвольного типа записей (идентификатор)
* posts_per_page - количество получаемых записей
* (в нашем случае стоит -1, это значит, что нужно получить все посты)
*/
$projects = new WP_Query(array('post_type' => 'projects', 'posts_per_page' => -1));
?>
<!— Не забудьте в цикл добавить полученный объект постов $reviews —>
<?php if ( $projects->have_posts() ) : while ( $projects->have_posts() ) : $projects->the_post(); ?>
<div class="col-md-12 row">
<div class="block__project col-md-5">
<span class="block__project_title">
<i class="fas fa-bookmark">
</i>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</span>
<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
<li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
<li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
</ol>
<div class="carousel-inner">
<div class="carousel-item active">
<img class="d-block w-100" src="<?php the_field('background'); ?>" alt="First slide">
</div>
<div class="carousel-item">
<img class="d-block w-100" src="<?php the_field('background_2'); ?>" alt="Second slide">
</div>
<div class="carousel-item">
<img class="d-block w-100" src="<?php the_field('background_3'); ?>" alt="Third slide">
</div>
</div>
</div>
</div>
<div class="block__info col-md-4">
<ul class="block__info_elements">
<li class="block__info_element">
Цена проекта
<span>
<?php the_field("price") ?>
</span>
</li>
<li class="block__info_element"><span><img src="<?php bloginfo('template_directory'); ?>/img/project/area.png" alt="">
 Площадь:</span> <?php the_field('scale'); ?>
</li>
<li class="block__info_element"><span><img src="<?php bloginfo('template_directory'); ?>/img/project/perimeter.png" alt="">
 Габариты
дома:</span> <?php the_field('scale_house'); ?>
</li>
<li class="block__info_element"><span><img src="<?php bloginfo('template_directory'); ?>/img/project/perimeter.png" alt="">
 Габариты застройки:</span>
<?php the_field('long_house'); ?>
</li>
<li class="block__info_element"><span><img src="<?php bloginfo('template_directory'); ?>/img/project/number-floors.png" alt="">
 Количество
этажей:</span> <?php the_field('stair'); ?>
</li>
<li class="block__info_element"><span><img src="<?php bloginfo('template_directory'); ?>/img/project/number-rooms.png" alt="">
 Количество
спален:</span> <?php the_field('rooms') ?>
</li>
<li class="block__info_element"><span><img src="<?php bloginfo('template_directory'); ?>/img/project/unitaz.png" alt="">
 Количество с/у:</span> <?php the_field('toilet'); ?>
</li>
<li class="block__info_element"><span><img src="<?php bloginfo('template_directory'); ?>/img/project/roof-insulation.png" alt="">
 Утепление
кровли:</span> <?php the_field('roof'); ?>
</li>
<li class="block__info_element"><span><img src="<?php bloginfo('template_directory'); ?>/img/project/facade-insulation.png" alt="">
 Утепление
внешних стен:</span> <?php the_field('walls'); ?>
</li>
<li class="block__info_element"><span><img src="<?php bloginfo('template_directory'); ?>/img/project/floor-insulation.png" alt="">
 Утепление
пола:</span> <?php the_field('downstairs'); ?>
</li>
<li class="block__info_element">
<div class="gallery__block_second container-fluid">
<div class="gallery__items row">
<div class="col-sm-6 col-md-4 col-lg-6 photodop item">
<a href="<?php the_field('pic'); ?>" data-lightbox="photos">
<img class="m-auto img-fluid" src="<?php the_field('pic'); ?>">
</a>
</div>
<div class="col-sm-6 col-md-4 col-lg-6 photodop item">
<a href="<?php the_field('pic_s'); ?>" data-lightbox="photos">
<img class="m-auto img-fluid" src="<?php the_field('pic_s'); ?>">
</a>
</div>
</div>
</div>
</li>
</ul>
</div>
<div class="sidebar__block2 col-md-3">
<?php get_sidebar() ?>
</div>
</div>
<div class='col-md-10 m-auto'>
<hr class="py-1">
</div>
<?php endwhile; ?>
<?php endif; ?>
</div>
</div>
</section>
</section>
</div>
<?php get_footer(); ?>
// Удалим слэш на конце, если нужно. Если слэш есть в структуре ЧПУ, то он будет добавляться и к постоянным страницам.
add_filter( 'user_trailingslashit', 'no_page_slash', 70, 2 );
function no_page_slash( $string, $type ){
global $wp_rewrite;
if( 'page' === $type && $wp_rewrite->using_permalinks() && $wp_rewrite->use_trailing_slashes )
$string = untrailingslashit( $string );
return $string;
}
<?php
$current_page = $_GET['page']; // текущая страница
$post_type = 'projects'; // имя custom post type
// если GET параметр пустой, то принимаем, что текущая страница равна 1
if ( empty($current_page) ) {
$current_page = 1;
}
// аргументы, передаваемые в запрос
$args = array(
'post_type' => $post_type, // custom post type
'posts_per_page' => 10, // количество постов на одной странице
'paged' => $current_page, // задаем номер страницы, которую хотим отобразить
);
$projects = new WP_Query( $args ); // отправляем запрос
if ( $projects->have_posts() ) :
while ( $projects->have_posts() ) : $projects->the_post(); ?>
// здесь HTML разметка поста
<?php endwhile;
// если максимальное количество страниц больше 1, то выводим пагинацию
if ( $projects->max_num_pages > 1 ) :
// если это не последняя страница и не первая, то выводим ссылки на следующую и предыдущую страницу
if ( $projects->max_num_pages > $current_page && $current_page > 1 ) : ?>
<a href="<?php prevlink($current_page) ?>">Предыдущая страница</a>
<a href="<?php nextlink($current_page) ?>">Следующая страница</a>
// если текущая страница является первой страницей, выводим только ссылку на следующую страницу
<?php elseif ( $current_page == 1 ) : ?>
<a href="<?php nextlink($current_page) ?>">Следующая страница</a>
// если текущая страница - это последняя страница, выводим ссылку только на предыдущую страницу
<?php elseif ( $current_page == $projects->max_num_pages ) : ?>
<a href="<?php prevlink($current_page) ?>">Предыдущая страница</a>
<?php endif;
endif;
endif;
?>
<?php
// ссылка на следующую страницу
function nextlink($current){
echo '?page=' . ($current + 1);
}
// ссылка на предыдущую страницу
function prevlink($current){
echo '?page=' . ($current - 1);
}
?>
'posts_per_page' => 5
с помощью хука pre_get_posts.