✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

WordPress-Beiträge nach Datum sortieren

104

TL;DR: Wenn Sie nach einer einfachen Möglichkeit suchen, WordPress-Beiträge im Administrationsbereich nach Datum (sei es absteigend oder aufsteigend) zu sortieren, ohne dass Benutzer auf die Überschrift der Datumsspalte klicken müssen, können Sie dies mithilfe des pre_get_postsFilters tun die einen Verweis auf die Instanz bereitstellt, die WP_Queryauf der Seite ausgeführt wird.

Codebeispiele dazu finden Sie im Rest des Artikels.

WordPress-Beiträge sortieren

Dieser Artikel ist so geschrieben, dass er davon ausgeht, dass Sie klassenbasiert eingerichtet sind. Dies bedeutet, dass die Einrichtung für den Filter in einer Funktion wie z. B. definiert ist und einen Funktionsnamen für die Klasse wie z. B. initaufruft .public``sort_articles_by_recent_time

Schließlich definiert es eine Priorität von 10und gibt an, dass die Funktion ein einzelnes Argument akzeptiert (das eine Instanz von WP_Query.

Fügen Sie zunächst den folgenden Filter hinzu:

add_action( 'pre_get_posts', [ $this, 'sort_articles_by_recent_time' ], 10, 1 );

Fügen Sie dann die folgende Funktion hinzu:

So funktioniert das:

  1. Beachten Sie die ersten Bedingungsprüfungen, wenn wir uns nicht im Verwaltungsbereich befinden oder wenn wir uns nicht auf der edit.phpSeite befinden (die die Post-Listing-Seite ist), verlassen wir einfach die Funktionalität. Dies ist eine Schutzklausel oder eine vorzeitige Rückgabe.
  2. Wenn wir diese beiden Kriterien erfüllen, aktualisieren wir die Abfrage so, dass die Posts nach Datum in absteigender Reihenfolge sortiert werden. Das bedeutet, dass die aktuellsten Termine immer ganz oben aufgeführt werden.

Dies berücksichtigt nicht den Post-Status (es spielt also keine Rolle, ob es sich um einen draftoder einen Post mit dem Status handelt). publishAußerdem wird dadurch verhindert, dass Benutzer auf die Spaltenüberschrift „Datum” klicken müssen, um die Ergebnisse nach Bedarf zu sortieren, wenn Sie dies in Ihrer Lösung wünschen.

Verweise

  • [pre_get_posts](https://developer.wordpress.org/reference/hooks/pre_get_posts/)
  • [WP_Query](https://developer.wordpress.org/reference/classes/wp_query/)

Aufnahmequelle: tommcfarlin.com

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen