Mit WordPress können Sie passwortgeschützte Beiträge erstellen. Kürzlich fragte einer unserer Leser, ob es möglich sei, passwortgeschützte Beiträge auf der Site zu verbergen. Standardmäßig verbirgt WordPress den Inhalt eines passwortgeschützten Beitrags, zeigt jedoch weiterhin den Beitragstitel mit dem Präfix „Geschützt“ an. In diesem Artikel zeigen wir Ihnen, wie Sie passwortgeschützte Beiträge aus der WordPress-Schleife ausblenden.
Warum passwortgeschützte Beiträge in WordPress ausblenden?
Standardmäßig zeigt WordPress den passwortgeschützten Beitrag mit seinem Titel und einem ‚geschützten‘ Präfix an. Benutzer müssen das Passwort eingeben, um den Inhalt des Beitrags anzuzeigen.
Dieser Beitragstitel ist auf der Homepage, im Archiv, im Widget für letzte Beiträge usw. sichtbar. Wenn Sie einige Inhalte vollständig privat halten möchten, ist dies nicht ideal.
Nicht nur Benutzer, die kein Passwort haben, können den Beitragstitel sehen, sie können auch versuchen, Passwörter einzugeben. Wie wir alle wissen, können Passwörter geknackt werden.
Lassen Sie uns jedoch einen Blick darauf werfen, wie Sie Ihre passwortgeschützten Beiträge vor der WordPress-Schleife verbergen, damit andere Benutzer sie nicht sehen können.
Passwortgeschützte Beiträge in WordPress ausblenden
Fügen Sie diesen Code einfach der Datei functions.php Ihres Themes oder einem Site-spezifischen Plugin hinzu.
function wpb_password_post_filter( $where="" ) { if (!is_single() && !is_admin()) { $where .= " AND post_password = ''"; } return $where; } add_filter( 'posts_where', 'wpb_password_post_filter' );
Dieser Code modifiziert einfach die an WordPress gesendete Abfrage, indem er die posts_where
Filter. Es fordert WordPress auf, alle Beiträge abzurufen, die kein Passwort haben.
Besuchen Sie Ihre Website und Sie werden feststellen, dass passwortgeschützte Beiträge auf der Startseite, in den Archiven oder in Widgets wie den letzten Beiträgen nicht mehr sichtbar sind.
Sie können den Beitrag weiterhin besuchen, indem Sie über eine direkte URL zum Beitrag selbst darauf zugreifen.
Das obige Beispiel blendet passwortgeschützte Beiträge vor allen Benutzern aus. Was wäre, wenn Sie eine WordPress-Site mit mehreren Autoren betreiben und möchten, dass geschützte Beiträge von Benutzern mit der Möglichkeit zum Bearbeiten privater Beiträge angezeigt werden können?
Ändern Sie einfach den obigen Code mit einem anderen Bedingungs-Tag wie folgt:
function wpb_password_post_filter( $where="" ) { if (!is_single() && !current_user_can('edit_private_posts') && !is_admin()) { $where .= " AND post_password = ''"; } return $where; } add_filter( 'posts_where', 'wpb_password_post_filter' );
In diesem Beispiel prüfen wir, ob ein Benutzer die passwortgeschützten Beiträge nicht bearbeiten kann, und zeigen dann nur die Beiträge an, die kein Passwort haben. Dadurch werden allen Benutzern mit den Benutzerrollen Administrator und Redakteur die passwortgeschützten Beiträge im Frontend Ihrer Site angezeigt.
Wir hoffen, dieser Artikel hat Ihnen geholfen, passwortgeschützte Beiträge vor der WordPress-Schleife auf Ihrer Website zu verbergen. Vielleicht möchten Sie auch unser Tutorial zum Ändern des Präfixes privater und geschützter Beiträge in WordPress ansehen.