<?php
$_GET['sortBy'] = 'B';
function get_permalink() { return 'someurl'; }
function get_terms($array) { return ['foo', 'bar', 'öle', 'can']; }
function esc_html($string) { return htmlspecialchars($string, ENT_QUOTES); }
function alpha_pagination() {
$chars = array_fill_keys(range('A', 'Z'), false);
foreach (get_terms(['taxonomy' => 'unknown', 'hide_empty' => true]) as $tax) {
$chars[mb_strtoupper(mb_substr($tax, 0, 1))] = true;
}
ksort($chars);
foreach ($chars as $char => $hasTerms) {
$selected = ($_GET['sortBy'] ?? '_') === $char ? ' selected' : '';
if ($hasTerms) {
printf(
'<a class="button%s" href="%s?%s">%s</a>',
$selected,
get_permalink(),
http_build_query(['sortby' => $char]),
esc_html($char)
);
} else {
printf(
'<span class="button disabled%s">%s</span>',
$selected,
esc_html($char)
);
}
echo "\n";
}
}
alpha_pagination();
preferences:
36.87 ms | 402 KiB | 5 Q