Похоже, вы используете неправильный аргумент запроса WP для публикации на странице.Вам нужно использовать 'posts_per_page' => 5,
вместо 'per_page => 5'
в аргументе WP_Query
.
Так что ваша функция staffSearchJSONResults
будет:
function staffSearchJSONResults($data) {
$staffBio = new WP_Query(array(
'post_type' => 'staff_bios',
'posts_per_page' => 5,
's' => $data['term'],
'orderby' => 'title',
'order' => 'asc'
));
Для нумерации страниц я бы предложил использоватьаргумент offset
.
Допустим, у вас есть общее количество постов в staff_bios
, значение posts_per_page
и, скажем, значение по умолчанию offset
будет 0
Итак, основные логическиепредставление для разбивки на страницы будет:
$pagination_number = 1; //Default pagination number, change as per pagination number
$total_posts = 30;
$posts_per_page = 5;
//This will change based on pagination number, it indicate how many post to skip
$offset = ($pagination_number - 1) * $posts_per_page;
$data = WP_Query(array(
'post_type' => 'staff_bios',
'posts_per_page' => $posts_per_page,
's' => $data['term'],
'orderby' => 'title',
'order' => 'asc',
'offset' => $offset,
));
$total_pagination = $total_posts/$posts_per_page; //(1, 2, 3 ,4 , 5, ....)
//LOOP THGOUGH DATA
Здесь вы можете проверить все аргументы WP_Query: https://www.billerickson.net/code/wp_query-arguments/