J'utilise un menu déroulant pour trier les articles par titre, par valeur_méta, etc. Cependant, la fonctionnalité de tri ne fonctionne que sur la première page. La deuxième page affiche l'ordre par défaut plutôt que de continuer l'ordre de la page 1. J'utilise wp-pagenavi pour la pagination. Des idées ce qui causerait cette erreur?
Voici un lien vers le code:
Merci beaucoup.
Vous soumettez initialement une demande POST
via un formulaire avec les paramètres de tri. Lorsque vous cliquez sur des liens vers des pages supplémentaires, vous envoyez simplement une demande GET
pour la page suivante sans ces vars POST
d'origine, afin qu'ils ne soient pas reportés aux pages supplémentaires et ne soient pas capturés par votre if(isset($_REQUEST['sort']))
. La manière la plus simple de le gérer consiste probablement à passer le paramètre de tri sous forme de chaîne de requête ajoutée à l'URL, puis à rechercher cette chaîne de requête et à l'ajouter aux URL des pages supplémentaires.
Vous définissez $paged
après la condition if
qui l'utilise.
// more uses of $paged that way ^^^^
else
$order = array(
'cat' => 30,
'orderby' => 'title',
'order' => 'ASC',
'paged' => $paged
);
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
Mettez cette ligne $paged =
avant ces conditions et je parie que cela fait une différence.