Skip to content

Commit ea252aa

Browse files
committed
Paginierung verbessert
1 parent 98625e4 commit ea252aa

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

templates/degree-program-grid.php

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -133,17 +133,28 @@
133133
if ($page > 1) {
134134
echo '<a href="' . add_query_arg('pagenum', ($page - 1), $current_url) . '" class="page-number prev" aria-label="' . __('Previous page', 'fau-studium-display') . '"><span class="pagination-icon pagination-icon-prev"></span></a>';
135135
}
136-
$ellipsis_done = false;
136+
$ellipsis1_done = false;
137+
$ellipsis2_done = false;
137138
for ($i = 1; $i <= $num_pages; $i++) {
138139
if ($page == $i) {
139140
echo '<span class="page-number current" aria-current="page">' . $i . '</span>';
140-
} elseif ($i > 3 && $i < ($num_pages - 2)) {
141-
if (!$ellipsis_done) {
141+
} elseif ($i == 1 ||
142+
$i == $num_pages ||
143+
$i == $page - 1 ||
144+
$i == $page + 1 ||
145+
($page == 1 && in_array($i, [3, $num_pages - 2, $num_pages - 1])) ||
146+
($page == $num_pages && $i == $num_pages - 2)
147+
) {
148+
echo '<a href="' . add_query_arg('pagenum', $i, $current_url) . '" class="page-number" aria-label="' . sprintf(__('Page %d', 'fau-studium-display'), $i) . '">' . $i . '</a>';
149+
} else {
150+
if ($page < $i && !$ellipsis1_done) {
142151
echo '<span class="page-ellipsis" aria-hidden="true">...</span>';
143-
$ellipsis_done = true;
152+
$ellipsis1_done = true;
153+
}
154+
if ($page > $i && !$ellipsis2_done) {
155+
echo '<span class="page-ellipsis" aria-hidden="true">...</span>';
156+
$ellipsis2_done = true;
144157
}
145-
} else {
146-
echo '<a href="' . add_query_arg('pagenum', $i, $current_url) . '" class="page-number" aria-label="' . sprintf(__('Page %d', 'fau-studium-display'), $i) . '">' . $i . '</a>';
147158
}
148159
}
149160
if ($page < $num_pages) {

0 commit comments

Comments
 (0)