WordPress Kategorie: Post Filter Datum Titel ACF

WordPress Kategorie Post Filter Datum Titel ACF
Inhaltsverzeichnis

Wer mit dem WordPress Elementor arbeitet kann seine Archive (Kategorien) selbst gestalten. Dafür können die Module “Beiträge archivieren” oder “Beiträge” genutzt werden. Leider gibt es aber keine Möglichkeit “derzeit” die Beiträge in den jeweiligen Kategorien zu filtern! Nach Titel, Datum oder ACF Feldern.

Dennoch gibt es eine simple Lösung, um doch filtern zu können! Man benötigt diesen Code, der am Ende in die functions.php bei WordPress eingetragen werden muss:

				
					function posts_sort_alphabetical( $query ) {
    if ( is_admin() || ! $query->is_archive )
        return $query;
	
		$query->set('orderby', 'meta_value');	
		$query->set('meta_key', 'online_status');	 
		$query->set('order', 'DESC');
        return $query; 
}
add_action( 'pre_get_posts', 'posts_sort_alphabetical', 1 );
				
			

Kurze Erklärung zum Snippet!

  • orderby steht für: Sortierung nach welcher Bedingung?
  • meta_key steht für: Welches Feld soll definiert werden für die Sortierung?
  • order steht für: Wie soll sortiert werden?
  • DESC steht für: Das Ergebnis wird absteigend sortiert
  • ASC steht für: Das Ergebnis wird aufsteigend sortiert

In meinem Fall existiert ein individuelles ACF Feld das ich für Beiträge definiert haben namens online_status. In dem ACF Feld steht 1 oder 0. Die WordPress MySQL Datenbank ist wie folgt aufgebaut:

meta_key meta_value
online_status 1 oder 0

Die Abfrage wird hier also quasi so gemacht: 

Sortiere (order_by) mir alle Beiträge nach dem (meta_value) absteigend (DESC), wo der meta_key online_status heißt.

Snippet in der functions.php eintragen

In deinem WordPress Theme… bei mir das Elementor Hello Theme… klickst du im Backend auf der linken Seite auf Design > Theme-Datei-Editor und dann auf der rechten Seite auf Theme-Funktionen (functions.php).

Am Ende fügst du dann das Snippet von oben ein! Unten klickst du dann zum Schluss auf Datei aktualisieren.

ID von der WordPress Category ausschliessen

Der Filter oben reagiert auf alle Kategorien! Möchtest du eine WordPress Kategorie davon ausschließen, so musst du folgendes hinzufügen: ($query->set( ‘cat’,’-1′ ); // Category entfernen)

				
					function posts_sort_alphabetical( $query ) {
    if ( is_admin() || ! $query->is_archive )
        $query->set( 'cat','-1' ); // Category entfernen
        return $query;
	
		$query->set('orderby', 'meta_value');	
		$query->set('meta_key', 'online_status');	 
		$query->set('order', 'DESC');
        return $query; 
}
add_action( 'pre_get_posts', 'posts_sort_alphabetical', 1 );
				
			

*In diesem Artikel sind Partner-Links enthalten. Durch einen Klick darauf ge­lan­gt ihr direkt zum Anbieter. Solltet ihr euch dort für einen Kauf entscheiden, erhalte ich ei­ne kleine Provision. Danke für eure Unterstützung!

Teile diese Seite und unterstütze mich dadurch!

Möchtest du mich und meinen Blog unterstützen? So teile einfach meine Seite auf anderen Internetseiten! Zum Beispiel in Blogs oder sozialen Netzwerken, wie Twitter, Facebook etc. 

Vielen Dank für deine Unterstützung!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Broschi
Broschi
Hi, ich bin Andreas. Seit 1999 erstelle ich Webseiten, daher kenne ich mich perfekt in WordPress, PHP, Affiliate Marketing und vor allem SEO aus. Solltest du Hilfe benötigen, dann schau mal hier. Ich liebe Technik gerade PCs mit allem was dazu gehört!
Broschi
Broschi
Hi, ich bin Andreas. Seit 1999 erstelle ich Webseiten, daher kenne ich mich perfekt in WordPress, PHP, Affiliate Marketing und vor allem SEO aus. Solltest du Hilfe benötigen, dann schau mal hier. Ich liebe Technik gerade PCs mit allem was dazu gehört!

Inhaltsverzeichnis
Werbung*