Погуглив и помучившись, я выяснил, что с
get_posts
не работает, нужно менять на WP_Query, я нашел
тут сей код:
Paginating a CPT.<?php
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$args = array(
'post_type' => 'custom_post_type_name',
'posts_per_page' => 10,
'paged' => $paged
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
//CPT. content
endwhile;
?>
<nav class="pagination">
<?php
$big = 999999999;
echo paginate_links( array(
'base' => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $loop->max_num_pages,
'prev_text' => '«',
'next_text' => '»'
) );
?>
</nav>
<?php wp_reset_postdata(); ?>
Я от слова совсем не силён в PHP, не знаю как тут в циклах закрываются скобки, в этом коде при выводе html - разметки - ошибка.
Сопаставив и чуток переписав цикл с wp-kama, у меня всё получилось, навигация вывелась, всё огонь.
Этот код рабочий, просто цикл переписать надо, или что-то, чего я не знаю в этом коде с примера)
Мой переписанный код:<?php
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$args = array(
'posts_per_page' => 6,
'order' => 'ASC',
'post_type' => 'my_type_post',
'paged' => $paged
);
$loop = new WP_Query( $args );
?>
<?php
if( $loop->have_posts() ) {
while( $loop->have_posts() ){
$loop->the_post();
?>
<h3><?php the_title(); ?></h3>
// My HTML
<?php
}
wp_reset_postdata();
}
?>
// И в нужно контейнере - месте размещаем nav.
<code lang="php">
<nav class="pagination">
<?php
$big = 999999999;
echo paginate_links( array(
'base' => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $loop->max_num_pages,
'prev_text' => '«',
'next_text' => '»'
) );
?>
</nav>
</code>