Beiträge aus WordPress-Suche entfernen
In diesem Betrag findet ihr das PHP-Snippet um Beiträge und Seiten aus der WordPress-Suche zu entfernen.
Die WordPress-Suche ist bekanntlich nicht die Beste, lässt sich aber durch Plugins wie Search Everything oder Relevanssi deutlich optimieren. Manchmal findet die WordPress-Suche allerdings Artikel oder Seiten die nicht in den Suchergebnissen auftauchen sollen. Wie z.B. die „Danke“-Seite eines Kontaktformulars. Mit folgendem Snippet blendet ihr unerwünschte Beiträge in der Suche aus.
Artikel über functions.php entfernen
Öffnet die functions.php
eures Themes und fügt folgende Zeilen ein.
/* Beiträge aus der WordPress-Suche entfernen */
function kb_exclude_from_search($query) {
if ($query->is_search) {
$query->set('post__not_in', array(1111, 2222)); /* IDs anpassen! */
}
return $query;
}
add_filter('pre_get_posts','kb_exclude_from_search');
Die Stellen mit „1111“ und „2222“ passt ihr an: hier gehören die IDs der Beiträge hin die ausgeblendet werden sollen.
[…] und benutzerfreundlicher gestalten. So könnt ihr beispielweise über die functions.php gezielt Seiten in den Suchergebnissen verstecken. Mit folgendem jQuery-Snippet hebt ihr die gesuchten Begriffe in der Ergebnisseite farblich hervor. […]
Super Tipp.
Besten Dank.
Funktioniert das auch mit den IDs von Seiten?
@Frank: Ja. Ich blende auf meiner Seite mit diesem Snippet verschiedene statische Seiten aus.