WordPress Post nach Kategorie anzeigen per Custom Query Filter

WordPress Artikel in der selben Kategorie mit dem Custom Query Filter anzeigen​

Inhaltsverzeichnis

Wenn du mit dem WordPress Elementor Pro arbeitest hast du die Möglichkeit deine Beiträge nach einem selbst definierten Filter auszulesen, in meinem Fall wollte ich weitere Beiträge aus der gleichen WordPress Kategorie auslesen und anzeigen!

Dazu musst du in der function.php folgende Funktion hinzufügen:

				
					// Showing related posts by current post category in Posts Widget
add_action( 'elementor/query/jetztonline', function( $query ) {
	// Get current post category
	$current_post_id = get_queried_object_id();
	$current_cat = get_the_category( $current_post_id );

	if( empty( $current_cat ) ) {
		return;
	} 

	// Modify the query
	$query->set( 'category__in', [ $current_cat[0]->term_id ] );

	// Make sure we don't get current post
	$not_in = $query->get( 'post__not_in' );
	$not_in[] = $current_post_id;

	// Modify the query
	$query->set( 'post__not_in', $not_in );
} );
				
			

Oben bei add_action( ‘elementor/query/jetztonline‘ setzt du deinen Wunschnamen. Diesen Namen verwendest du dann auch in WordPress! So kannst du unterschiedliche Abfragen gestalten und anderweitig immer nutzen!

Elementor Pro Abfrage ID erstellen

Aus deiner Programmierung nimmst du nun dein Wunschwort, in meinem Fall “jetztonline” und schreibst es in das Widget in das Feld Abfrage ID hinein, fertig!

Jetzt werden die Beiträge aus der gleichen WordPress Kategorie angezeigt!

Erklärung zum Code

Dieser Code fügt verwandte Beiträge der aktuellen Beitrag-Kategorie im Posts-Widget in Elementor hinzu. Es handelt sich um eine benutzerdefinierte Action-Hook-Funktion, die an den Hook ‘elementor/query/jetztonline’ gebunden wird. Wenn also ein Posts-Widget im Elementor-Editor die Beiträge für eine Seite anfordert, wird diese Funktion ausgeführt, um die Abfrage zu ändern und verwandte Beiträge nach der aktuellen Beitrag-Kategorie zu filtern.

Hier ist eine schrittweise Erklärung des Codes:

1. `add_action(‘elementor/query/jetztonline’, function($query) { … } );`:
Dieser Teil registriert die Funktion als Aktion mit dem Hook ‘elementor/query/jetztonline’. Wenn das Elementor-Posts-Widget Beiträge abfragt, wird diese Funktion ausgeführt, um die Abfrage entsprechend zu ändern.

2. `$current_post_id = get_queried_object_id();`:
Hier wird die ID des aktuellen Beitrags abgerufen, der auf der Seite angezeigt wird. Die Funktion `get_queried_object_id()` gibt die ID des aktuellen Beitrags zurück.

3. `$current_cat = get_the_category( $current_post_id );`:
Mit dieser Zeile wird das Kategorie-Objekt (oder die Kategorien), denen der aktuelle Beitrag zugeordnet ist, abgerufen. Die Funktion `get_the_category()` gibt ein Array von Kategorie-Objekten zurück, denen der Beitrag zugeordnet ist.

4. `if( empty( $current_cat ) ) { return; }`:
Hier wird überprüft, ob der aktuelle Beitrag keiner Kategorie zugeordnet ist. Falls dies der Fall ist (z. B. wenn der Beitrag keine Kategorie hat), wird die Funktion beendet und keine weiteren Änderungen an der Abfrage vorgenommen.

5. `$query->set(‘category__in’, [ $current_cat[0]->term_id ]);`:
Mit dieser Zeile wird die Abfrage geändert, um nur Beiträge anzuzeigen, die zur ersten Kategorie des aktuellen Beitrags gehören. Der Parameter ‘category__in’ wird auf das Array der ID der Kategorie des aktuellen Beitrags gesetzt.

6. `$not_in = $query->get(‘post__not_in’); $not_in[] = $current_post_id;`:
Hier wird eine Liste von Beitrags-IDs erstellt, die in der Abfrage ausgeschlossen werden sollen. Zuerst wird die vorhandene Liste der auszuschließenden Beiträge mit `$query->get(‘post__not_in’)` abgerufen. Dann wird die ID des aktuellen Beitrags zur Liste hinzugefügt.

7. `$query->set(‘post__not_in’, $not_in);`:
Hier wird die Abfrage erneut geändert, um sicherzustellen, dass der aktuelle Beitrag nicht in den verwandten Beiträgen angezeigt wird. Der Parameter ‘post__not_in’ wird auf die Liste der auszuschließenden Beiträge gesetzt.

Durch diese Änderungen in der Abfrage werden also im Elementor-Posts-Widget nur Beiträge angezeigt, die zur gleichen Kategorie wie der aktuelle Beitrag gehören, und der aktuelle Beitrag selbst wird aus den verwandten Beiträgen ausgeschlossen. Dies hilft, eine sinnvolle und relevante Liste von verwandten Beiträgen basierend auf der aktuellen Beitrag-Kategorie zu erstellen.

WordPress Post nach Kategorie anzeigen per Custom Query Filter
Auf Pinterst teilen
*In diesem Artikel sind Partner-Links enthalten. Durch einen Klick darauf gelangst du direkt zum Anbieter. Solltest du dich dort für einen Kauf entscheiden, erhalte ich ei­ne kleine Provision. Danke für deine Unterstützung! Angebote sind immer nur gültig zum Zeitpunkt der Veröffentlichung des Artikels. Preise können sich ändern. Bitte überprüfe den aktuellen Preis auf der Website des Links.
Picture of Broschi
Broschi
Moin ich bin Broschi und das hier ist mein Blog. Abonniere gerne auch meinen Youtube Kanal! Du findest mich auch auf Pinterest, Instagram und Twitter. Kennst du schon meinen Amazon Shop*?
Amazon Shop
Affiliate Link!
ebay Angebote
Affiliate Link
Broschis Blog Newsletter
NEWSLETTER ABONNIEREN!
Teile die Begeisterung: Erzähle deinen Freunden von diesem Artikel! Und lass uns deine Gedanken hören – hinterlasse mir jetzt deinen Kommentar!

Deine Gedanken sind gefragt! Hast Du Fragen oder Ideen für den Artikel, lass sie raus. Dein Kommentar öffnet die Tür zu lebhaften Diskussionen und bietet eine Plattform für den Austausch von Wissen und Hilfe unter den Lesern. Teile gerne auch mit, falls dir etwas gefehlt hat – wir sind gespannt auf deine Meinung!

Schreibe deinen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert