So zeige ich bei der WordPress Suche nur Beiträge und keine Seiten an!

WordPress Suche nur Beiträge und keine Seiten anzeigen – so löse ich es!​

Inhaltsverzeichnis

Ich nutze WordPress Internetseiten, auf denen ich bei der Suche nur Beiträge anzeigen lassen möchte und keine Seiten, wie zum Beispiel ein Impressum oder die Datenschutzerklärung! Eine Zeitlang hatte ich da ein Plugin im Einsatz, jedoch zu viele Plugins machen deine Internetseite langsam!

Daher einfach nur ein simpler WordPress Code, den ich in die functions.php kopiere und schon werden in der Suche nur noch Beiträge und keine Seiten mehr angezeigt!

				
					//Filter Suche nur post und keine page zulassen array('post','page')
function searchfilter($query) { 
    if ($query->is_search && !is_admin() ) {
        $query->set('post_type',array('post'));
    }
	return $query;
} 
add_filter('pre_get_posts','searchfilter');
				
			

Willst du die Beiträge und Seiten anzeigen lassen musst du diesen Code nutz!

				
					//Filter Suche nur post und keine page zulassen array('post','page')
function searchfilter($query) { 
    if ($query->is_search && !is_admin() ) {
        $query->set('post_type',array('post','page'));
    }
	return $query;
} 
add_filter('pre_get_posts','searchfilter');
				
			

Willst du nur die Seiten und keine Beiträge anzeigen lassen musst du diesen Code nutz!

				
					//Filter Suche nur post und keine page zulassen array('post','page')
function searchfilter($query) { 
    if ($query->is_search && !is_admin() ) {
        $query->set('post_type',array('page'));
    }
	return $query;
} 
add_filter('pre_get_posts','searchfilter');
				
			

Hier ist eine Erklärung zum Code

Hier ist eine Erklärung zum Code, der die Suche filtert, um nur Beiträge und keine Seiten (oder auch beides) zuzulassen:

1. Die Funktion “searchfilter”:
Die Funktion “searchfilter” ist eine benutzerdefinierte Funktion, die wir erstellen, um die Suche zu filtern. Sie wird später als Filter für die WordPress-Suchergebnisse verwendet. Die Funktion akzeptiert den $query-Parameter, der das Suchabfrage-Objekt enthält.

2. Bedingung für die Suche:
Innerhalb der Funktion wird zuerst überprüft, ob es sich um eine Suchanfrage handelt, indem wir die Bedingung “$query->is_search” verwenden. Das stellt sicher, dass der Filter nur auf Suchanfragen angewendet wird und nicht auf andere Abfragen.

3. Bedingung für den Administratorbereich (Backend):
Die nächste Bedingung “!is_admin()” stellt sicher, dass der Filter nicht im Administratorbereich (Backend) angewendet wird. Dies bedeutet, dass der Filter nur auf der Website und nicht im WordPress-Adminbereich funktioniert.

4. Setzen des post_type-Parameters:
Wenn die oben genannten Bedingungen erfüllt sind (es handelt sich um eine Suchanfrage und wir sind nicht im Adminbereich), wird der post_type-Parameter für die Suche festgelegt.

a) Option 1: Nur Beiträge zulassen:
Im ursprünglichen Code wird der post_type-Parameter auf ‘post’ gesetzt. Das bedeutet, dass nur Beiträge in den Suchergebnissen angezeigt werden. Seiten werden ausgeschlossen.

b) Option 2: Beiträge und Seiten zulassen:
Wenn du die zweite Option wählst und den Code wie in der Zusätzlichen Option 1 erklärt anpasst, wird der post_type-Parameter auf ein Array mit ‘post’ und ‘page’ gesetzt. Dadurch werden sowohl Beiträge als auch Seiten in den Suchergebnissen angezeigt.

c) Option 3: Nur Seiten zulassen:
Entscheidest du dich für die dritte Option und passt den Code wie in der Zusätzlichen Option 2 beschrieben an, wird der post_type-Parameter auf ‘page’ gesetzt. Das bedeutet, dass nur Seiten in den Suchergebnissen angezeigt werden, Beiträge werden ausgeschlossen.

5. Die Rückgabe des $query-Objekts:
Am Ende der Funktion wird das geänderte $query-Objekt zurückgegeben, um den Filtereffekt auf die Suchergebnisse zu übernehmen.

6. Der Filter “pre_get_posts”:
Schließlich wird die Funktion “searchfilter” mit dem Filter “pre_get_posts” verbunden. Dieser Filter wird vor der Ausführung der Hauptabfrage für die Suchergebnisse aufgerufen und ermöglicht es uns, die Abfrageparameter zu ändern, bevor die Ergebnisse zurückgegeben werden.

Dadurch wird unser Filter angewendet und die Suchergebnisse entsprechend eingeschränkt, abhängig von den festgelegten post_type-Parametern.

Das Hinzufügen dieses Codes zur functions.php-Datei deines WordPress-Themes ermöglicht dir also, die Suche auf deiner Website nach deinen Bedürfnissen anzupassen. Du kannst wählen, ob nur Beiträge oder auch Seiten in den Suchergebnissen erscheinen sollen oder ob du beides zulässt. Dies verbessert die Benutzererfahrung und sorgt dafür, dass die Suchergebnisse besser zu den Bedürfnissen deiner Website-Besucher passen.

WordPress Suche Beiträge keine Seiten anzeigen
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