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!