Ich benutze ein Dropdown-Menü, um Beiträge nach Titel, Meta-Wert usw. zu sortieren. Die Sortierfunktion funktioniert jedoch nur auf der ersten Seite. Auf der zweiten Seite wird die Standardreihenfolge angezeigt, anstatt die Reihenfolge ab Seite 1 fortzusetzen. Ich verwende wp-pagenavi für die Paginierung. Irgendwelche Ideen, was diesen Fehler verursachen würde?
Hier ist ein Link zum Code:
Vielen Dank.
Sie senden zunächst eine POST
-Anfrage über ein Formular mit den Sortierparametern. Wenn Sie auf Links zu weiteren Seiten klicken, senden Sie lediglich eine Anforderung für GET
für die nächste Seite ohne die ursprünglichen Variablen POST
, damit sie nicht auf die weiteren Seiten übertragen werden und von Ihrer Funktion if(isset($_REQUEST['sort']))
nicht erfasst werden. Wahrscheinlich ist es einfacher, den Sortierparameter als an die URL angehängte Abfragezeichenfolge zu übergeben. Überprüfen Sie dann, ob diese Abfragezeichenfolge vorhanden ist, und hängen Sie sie an die URLs der zusätzlichen Seiten an.
Sie setzen $paged
nach den if
Bedingungen, die es verwenden.
// 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;
Stellen Sie diesen $paged =
vor diese Bedingungen und ich wette, es macht einen Unterschied.