Come far funzionare paginate_links con altri parametri nell’url
Recentemente mi è capitato di risolvere una questione un po’ banale, ma importante:
come effettuare una paginazione corretta quando si usa un filtro (o parametro) aggiuntivo nell’url.
Per esempio se si vuole filtrare una pagina archivio di WordPress con una sotto tassonomia o una custom taxonomy e poi se il risultato supera gli elementi predisposti per pagina, come fare in modo che la paginazione consideri anche il secondo parametro?
Bisogna cambiare ?paged=%#% e dirgli quando nell’url esiste un parametro ci devi aggiungere questo parametro per la paginazione &paged=%#% e quindi andare a sostituire il ? con una & in questo modo:
<?php
// Get the current URL
$current_url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
// Check if the URL already contains a query string
$format = (strpos($current_url, '?') !== false) ? '&paged=%#%' : '?paged=%#%';
echo paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => $format,
'total' => $query->max_num_pages,
'current' => $paged,
'prev_text' => '<',
'next_text' => '>',
));
?>





















Lascia un Commento
Vuoi partecipare alla discussione?Sentitevi liberi di contribuire!