Heute möchte ich mit Ihnen eine schnelle und einfache Anleitung teilen , wie man Seiten aus den WordPress-Suchergebnissen ausschließt.
Standardmäßig nimmt WordPress die Seiten Ihrer Website in seine Suchergebnisse auf. Für die meisten Websites ist dies weder notwendig noch erwünscht. Um dieses Verhalten zu ändern, können Sie eine einfache Funktion in unsere functions.php
Datei, um diese Seiten in unseren Suchergebnissen herauszufiltern.
Wichtigste Erkenntnisse
- Seiten werden standardmäßig in den WordPress-Suchergebnissen angezeigt.
- In diesem Schritt-für-Schritt-Tutorial werden Sie eine Funktion erstellen, die Seiten vollständig aus Ihren WordPress-Suchergebnissen entfernt.
Die Funktion zum Ausschluss von Seiten aus den WordPress-Suchergebnissen
Kopieren Sie einfach diese Funktion und fügen Sie sie in Ihr functions.php
Datei Ihres WordPress-Themes:
/**
* This function modifies the main WordPress query to remove
* pages from search results.
*
* @param object $query The main WordPress query.
*/
function tg_exclude_pages_from_search_results( $query ) {
if ( $query->is_main_query() && $query->is_search() && ! is_admin() ) {
$query->set( 'post_type', array( 'post' ) );
}
}
add_action( 'pre_get_posts', 'tg_exclude_pages_from_search_results' );
Diese Funktion tut genau das, was Sie brauchen. Durch Ändern der Haupt-WordPress-Abfrage über die pre_get_posts
Haken können Sie festlegen, was in Ihren Suchergebnissen angezeigt werden soll. In diesem Fall wollen Sie nur Inhalte aus Ihren Blogbeiträgen anzeigen, nicht aus Ihren Seiten.
Möchten Sie eine WordPress-Website, die sicher UND schnell ist? Meine Freunde bei WP Engine bieten 3 Monate kostenlos auf alle Jahrespläne. Klicken Sie hier, um Ihr spezielles WP Engine-Angebot in Anspruch zu nehmen!
Und schon haben Sie es! Speichern Sie einfach Ihre Datei und testen Sie eine Suchanfrage. Sie haben Seiten aus Ihren WordPress-Suchergebnissen ausgeschlossen!
Ich hoffe, der Beitrag hat Ihnen gefallen, und vergessen Sie nicht, ihn zu abonnieren, um weitere großartige WordPress-Inhalte zu erhalten! Schauen Sie sich auch den Folgebeitrag darüber an , wie man benutzerdefinierte Beitragstypen in die WordPress-Suchergebnisse aufnehmen kann!
Funktioniert großartig. Vielen Dank für diese Funktion und für die prägnante Darstellung.
Das ist sehr zu begrüßen! Jetzt werden diese Seiten nicht mehr in Ihren WordPress-Suchergebnissen erscheinen!
Danke Thomas. Sehr nützlich. Hat mir den Tag gerettet.
Sie sind herzlich willkommen! Schön, dass Sie es hilfreich fanden, Seiten aus Ihren Suchergebnissen auszuschließen 🙂 .
Es funktioniert. Ich danke Ihnen. Ich danke Ihnen. Ich danke Ihnen 😊.
Funktioniert großartig. Danke
Wie bringt man wordpress dazu, sowohl Seiten als auch Beiträge in der Suche anzuzeigen?
Hey Chad - so funktioniert die WordPress-Suche standardmäßig. Wenn Sie Seiten in der Suche zusammen mit anderen benutzerdefinierten Beitragstypen behalten möchten, können Sie einfach einfügen
'page'
als Teil des Arrays, wenn Sie die Beitragstypen anpassen.Sie schließt auch Stellen aus.
Vergewissern Sie sich, dass Sie es wie angegeben kopiert haben und dass keine anderen Plugins die Möglichkeit, Seiten aus den Suchergebnissen auszuschließen, beeinträchtigen. Es sollte wie erwartet funktionieren!
Haben Sie eine Idee, wie man eine bestimmte Seite von der Suche ausschließen kann?
Direkt unter der anderen Abfrageänderung würden Sie etwas wie dieses hinzufügen:
$query->set( 'post__not_in', array( 10 ) );
Auswechseln
10
für die ID der Seite, die Sie von Ihren Suchergebnissen ausschließen möchten.Dieser Code ist besser als die anderen, die auf fast allen Websites verfügbar sind.
Schön, dass es dir gefällt, Mozi!
Hallo Thomas,
Es schließt auch Produkte aus. Wie kann ich Produkte einbeziehen?
Danke
Hey Joey - je nach dem Namen des Beitragstyps würden Sie einfach
'products'
in das Array für den Beitragstyp.Hallo Thomas, wie kann man Beiträge einer bestimmten Kategorie oder eines Kategoriefeldes von den Suchergebnissen ausschließen? Vielen Dank dafür!
Hey Earl,
Gute Frage! Sie würden es so machen:
$query->set( 'cat', '-1, -2' );
Wo
1
und2
sind die Kategorie-IDs und die-
bedeutet, dass sie von der Abfrage ausgeschlossen sind.Ich hoffe, das hilft!