webentwicklung-frage-antwort-db.com.de

Wie sortiere ich Posts mit mehreren Seiten?

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:

http://Pastebin.com/AwSmMPtM

Vielen Dank.

1
John Hall

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.

2
Milo

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.

1
s_ha_dum