Я пытаюсь изменить свой ретранслятор и добавить нумерацию страниц.
Я могу с успехом сделать оба по отдельности, но не могу объединить их.
Код для возврата заказа от ACF:
https://www.advancedcustomfields.com/resources/how-to-sorting-a-repeater-field/
Код для добавления нумерации страниц:
ACF Gallery Pagination в Worpdress
Вот мой код:
<?php
$repeater = get_field('summaries');
$order = array();
foreach( $repeater as $i => $row ) {
$order[ $i ] = $row;
}
array_multisort( $order, SORT_DESC, $repeater );
// Pagination
$items_per_page = 10;
$total_items = count($repeater);
$total_pages = ceil($total_items / $items_per_page);
if( get_query_var('paged') ){
$current_page = get_query_var('paged');
}
elseif ( get_query_var('page') ) {
$current_page = get_query_var('page');
}
else{
$current_page = 1;
}
$starting_point = (($current_page-1)*$items_per_page);
if($repeater){
$row = array_slice($repeater,$starting_point,$items_per_page);
}
if( $repeater ) : ?>
<?php foreach( $repeater as $i => $row ): ?>
<div class="container mt4 mb4 articles flexbox-v">
<strong>Summary: </strong>
<?= $row['summary']; ?>
</div>
<?php endforeach; ?>
<?php endif;
$big = 999999999;
echo paginate_links(array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => $current_page,
'total' => $total_pages,
'before_page_number' => '<span class="screen-reader-text">'.$translated.' </span>'
));
?>
Он по-прежнему выводит ретранслятор в обратном порядке и добавляет функцию разбиения на страницы. Однако элементы 2-й страницы - это просто повторение элементов на первой странице.
Пример. Страница 1: Элементы 1-12, страница 2: Элементы 1-12
Так что, по сути, мне нужно исправить функцию разбивки на страницы, чтобы она работала должным образом, но я не уверен, куда идти.
Спасибо!