Добрый день! Помогите понять почему не работает пагинация для произвольного типа постов, она даже не появляется на странице.
1. Создан произвольный тип записи в functions. Вот код
register_post_type('sales-training', // Register Custom Post Type
array(
'labels' => array(
'name' => __('Тренинги по продажам', 'html5blank'),
'singular_name' => __('Тренинги по продажам', 'html5blank'),
'add_new' => __('Добавить запись', 'html5blank'),
'add_new_item' => __('Добавить новую запись', 'html5blank'),
'edit' => __('Редактировать', 'html5blank'),
'edit_item' => __('Редактировать', 'html5blank'),
'new_item' => __('Новая запись', 'html5blank'),
'view' => __('Просмотреть', 'html5blank'),
'view_item' => __('Просмотреть', 'html5blank'),
'search_items' => __('Поиск по записям', 'html5blank'),
'not_found' => __('Не найдено', 'html5blank'),
'not_found_in_trash' => __('Не найдено', 'html5blank')
),
'public' => true,
'hierarchical' => true,
//'has_archive' => true,
'query_var' => true,
'supports' => array(
'title',
'editor',
'excerpt',
'thumbnail'
), // Go to Dashboard Custom HTML5 Blank post for supports
'can_export' => true, // Allows export in Tools > Export
/* 'taxonomies' => array(
'post_tag',
//'category'
) */
));
2. Создана функция пагинации
function html5wp_pagination( $query=null ) {
global $wp_query;
$query = $query ? $query : $wp_query;
$big = 999999999;
$paginate = paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'type' => 'array',
'total' => $query->max_num_pages,
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'mid_size'=>1,
'prev_text' => __('«'),
'next_text' => __('»'),
)
);
if ($query->max_num_pages > 1) :
?>
<ul class="pagination pagination-sm ">
<?php
foreach ( $paginate as $page ) {
echo '<li>' . $page . '</li>';
}
?>
</ul>
<?php
endif;
}
3.Вывод постов на странице с помощью цикла
<?php
$type = 'sales-training';
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
$args=array(
'post_type' => $type,
'paged' => $paged,
'posts_per_page' => 2,
'ignore_sticky_posts'=> 1,
);
$training = null;
$training=new WP_Query($args);
if($training->have_posts()):
while($training->have_posts()):
$training->the_post();?>
<div class="" id="post-<?php the_ID(); ?>">
//content
</div>
<?php endwhile; endif;?>
<?php wp_reset_postdata();?>
<?php html5wp_pagination(); ?>
Для вывода постов был создан свой шаблон для страницы. Т.е в консоле вордпреса в разделе Страницы - сделана страница у которой указан свой шаблон.
На тостере были подобные вопросы, но там другие проблемы были.
Заранее спасибо за помощь!