Trick # 624 | Dieser Beitrag beinhaltet 0 Wörter. – Geschätzte Lesezeit: ca. 0 Minuten.
WordPress hat eine hervorragende Suchfunktion implementiert; sucht aber nur in Inhalten, die bereits öffentlich verfügbar sind. Eine häufige Anforderung ist es aber, dass eingeloggte BenutzerInnen Zugriff auf geplante Inhalte erhalten, die noch nicht veröffentlicht wurden. Im Rahmen unserer Special-Reihe zum Thema Memberbereiche möchten wir Ihnen eine elegante Lösung vorstellen, um geplante Beiträge in der WordPress-Suche für eingeloggte Benutzer sichtbar zu machen.
Um der WordPress-Suche neben den veröffentlichten Beiträgen auch die künftigen Blogposts beizubringen, benötigen Sie den folgenden Code. Er gehört in die Datei functions.php Ihrer WordPress-Website – unter Design/Theme-Datei-Editor:
function include_scheduled_posts_in_search_for_logged_in_users($query) {
// Stelle sicher, dass es sich um eine Frontend-Suche und die Hauptabfrage handelt
if (!is_admin() && $query->is_search && $query->is_main_query() && is_user_logged_in()) {
$query->set('post_status', ['publish', 'future']);
}
return $query;
}
add_filter('pre_get_posts', 'include_scheduled_posts_in_search_for_logged_in_users');Dieser Code sorgt dafür, dass alle User, welche eingeloggt sind, auch auf Inhalte zugreifen können, die noch nicht veröffentlicht wurden. Besucher ohne Login-Status erhalten nach wie vor nur die veröffentlichten Beiträge in der Trefferliste von WordPress angezeigt.
Werbung


