• Blog
  • Kontakt
    • DE
    • EN
    • FR
SaaS Web Internet Solutions
  • Leistungen
    • Planung
      • Beratung und KonzeptionUnabhängig planen, von der Idee bis zum Konzept
      • Website RelaunchNeues Design, ohne Inhalte und Sichtbarkeit zu verlieren
    • Content & Marketing
      • Texte, Inhalte & Landing PagesInhalte, die Besucher zum Handeln bringen
      • Online MarketingGefunden werden mit SEO, SEA und Social Media
    • Entwicklung & Betrieb
      • Individuelle ProgrammierungWeb-Anwendungen statt verbogener Standardsoftware
      • Managed HostingServer, Updates, Backups und Monitoring
      • Service & BetreuungWartung, Weiterentwicklung und schnelle Hilfe
    Projekt startenVon der Idee bis zum Betrieb aus einer HandErzähl uns, was du vorhast – wir melden uns mit einem ersten Vorschlag.Gespräch vereinbaren
    Seit 2009 aus Karlsruhe – für Unternehmen in ganz Baden-Württemberg und darüber hinausAlle Leistungen auf einen Blick
  • Software & Entwicklung
    • Technologien & FrameworksSoftware und Technologien als Basis für dein Projekt
      • Craft CMSRedaktionssystem für anspruchsvolle Websites
      • Ruby on RailsIndividuelle Web-Anwendungen und ihr Betrieb
      • WordPressWebsites, Shops und Support seit 2011
    • Software für KommunenDigitale Lösungen für Kommunen, Verwaltung und bürgernahe Services
      • Ferien-PlattformFerienprogramme online buchen und verwalten
      • ErmäßigungsprogrammPässe und Ermäßigungen digital beantragen
      • NachmittagsbetreuungAnmeldung und Platzvergabe für Schulkinder
    • Einsatz von KIWie wir KI im Arbeitsalltag einsetzen
    Software für KommunenSeit 2016 im produktiven EinsatzFerienprogramm, Ermäßigungspass und Schulkindbetreuung – unter anderem in Karlsruhe und Mannheim.Lösungen ansehen
    Eigene Software und Technologien, die sich in echten Projekten bewährt habenZum Werkzeugkasten
  • Die Agentur
    • Das TeamWir entwickeln mit Leidenschaft Web-Projekte seit 2009
      • Über unsWer wir sind und wie wir arbeiten
    • BlogProjekte, Neuigkeiten und Tipps
    Aus dem Blog · Oktober 2026Sicherheitshinweis: PHP-Schwachstellen CVE-2026-109618, CVE-2026-109619 und CVE-2026-115560 („PHP2Shell“)Beitrag lesen
    SaaS Web Büro · Steinstraße 25 · 76133 KarlsruheKontakt aufnehmen
  • Sprich mit unsBlog
    • Deutsch
    • English
    • Français
    0721 18039510info@saasweb.netSteinstraße 25, 76133 Karlsruhe
    Bürozeiten Mo–Fr 9.30–18.30 Uhr
  1. Startseite
  2. Blog
  3. WordPress: so erstelle ich eine private Homepage für die Familie und den Freundeskreis

Tutorial

WordPress: so erstelle ich eine private Homepage für die Familie und den Freundeskreis

21. Juli 2017 · 7 Minuten Lesezeit

Dieser Beitrag ist von Juli 2017. Die Screenshots zeigen die Oberfläche von damals, heute sieht sie teils etwas anders aus. Wo sich Wesentliches geändert hat, steht im Text ein Hinweis „Stand 2026“.

Im privaten Umfeld ist es nicht selten, dass man Fotos, Videos und Texte nicht mit jedem teilen möchte.

Aber mit Freunden und Familie möchte man schon Inhalte teilen können, und einfach soll es auch sein (außerdem sollen sie auch keine Berechtigungen bekommen, die Homepage zu verändern)… Viele greifen daher bevorzugt auf Facebook, weil sie meinen, die Inhalte seien dort privat – nun ja, lassen wir Kommentare hierzu beiseite…

Widmen wir uns einer anderen Option: wir erstellen eine WordPress Homepage, zu der nur registrierte User Zugriff haben. Damit aber nicht jeder Login und Passwort sich merken muss, bieten wir zusätzlich zur Standard-Anmeldung, die Möglichkeit, sich via Facebook Login anzumelden.

Vorgehensweise

Wie erreichen wir unser Ziel?

  • Zugriff einschränken
    • Members Plugin einrichten, um die Rollendefinition von WordPress anzupassen und den Zugang zur Homepage über die Anmeldeseite umzuleiten
    • User Role Editor Plugin installieren, um eine individuelle Capability (Berechtigung) zu erstellen
    • functions.php Datei des Themes anpassen, um die Inhalte der Homepage für Abonnenten zu verbergen
    • Erstellen einer Seite mit Informationen für angemeldete Nutzer, die aber nicht die geeigneten Berechtigungen besitzen
  • Facebook Plugin installieren/konfigurieren, um Facebook-Usern die Möglichkeit zu geben, sich ohne Login/Passwort anzumelden
    • Facebook-App erstellen
    • Social-Login-Plugin (Nextend Social Login) einrichten

Zugriff auf Homepage einschränken

Einstellungen des Members Plugins in WordPress

Members Plugin einrichten

Das Members Plugin hat für unseren Use-Case 2 Funktionen:

  1. Allgemeinen Zugriff auf die Inhalte unterbinden: Besucher muss angemeldet sein
  2. Neue Rolle „Family & Friends“ erstellen: als Admin können wir manuell Abonnenten (die keine Berechtigungen haben) in die neue Rolle umziehen

Wir installieren das Plugin Members und kümmern uns um die Einstellungen davon:

  • Enable Private Site: anhaken – wir möchten, dass nur angemeldete Nutzer die Inhalte sehen können, daher sollen unangemeldete Nutzer auf die Anmelde-Seite umgeleitet werden, egal welche Seite sie ansteuern
  • REST API: anhaken – sonst lassen sich Beiträge und Seiten auch ohne Anmeldung über die Schnittstelle /wp-json/ abrufen
  • Disable Feed: anhaken – andere Personen oder Dienste sollen keine Informationen über die Inhalte erhalten

Die anderen voreingestellten Parameter können so bleiben.

User Role Editor: neue Capability anlegen

Individuelle Capability erstellen

Das Plugin User Role Editor ist ein populäres und kostenfreies Plugin zum Bearbeiten der Nutzer und der Nutzerrollen von WordPress. Für unser Vorhaben erstellen wir eine neue Capability und werden anhand dieser prüfen, ob der Besucher diese Berechtigung hat oder nicht. Die Abfrage ob er berechtigt ist oder nicht folgt im nächsten Absatz zu der functions.php.

Wir erstellen also eine Capability namens oooooxooooo und weisen sie der Rolle „Family & Friends“ zu, bzw. auch der Admin-Rolle. Sollten auf der WordPress-Installation auch andere Rollen besetzt sein (Redakteur, ..), dann kannst du die Capability auch diesen Rollen zuweisen. Jedenfalls NICHT der Rolle „Subscriber“ (Abonnent) vergeben!

Zusatzeinstellung in der functions.php

Das Members-Plugin ist leider nicht ausreichend für unser Vorhaben bzw. etwas umständlich. Mit dem Members-Plugin wird nämlich nur erzwungen, dass Besucher sich anmelden müssen. Standardmäßig hat aber ein eingeloggter User Zugriff auf alle Inhalte (Seiten / Artikel). Aber selbst wenn man bei allen Seiten und Artikeln, die User-Berechtigungen setzt, bekommt der nicht-autorisierte Besucher z. B. die Artikel-Titel angezeigt, lediglich der Inhalt wird gesperrt.

Das ist nicht was wir haben möchten; wir möchten den Zugriff komplett unterbinden.

Damit nicht-berechtigte Besucher auf eine Seite weitergeleitet werden, auf der z. B. Infos stehen, weshalb der Zugriff verboten ist, fügen wir der functions.php des Themes zusätzlichen Code hinzu (am besten in einem Child-Theme, sonst ist der Code beim nächsten Theme-Update wieder weg). Kurze Erklärungen:

  • Jedes Theme hat eine functions.php. Diese zentrale Datei steuert das Verhalten eines Themes und verbindet verschiedene Dateien zusammen
  • Der zusätzliche Code prüft 3 Dinge:
    • ob der Besucher angemeldet ist,
    • ob der Besucher die Capability „oooooxooooo“ nicht hat
    • und ob der User nicht bereits auf der Seite „Stop“ ist

    Wenn alle drei Bedingungen zutreffen, wird der Besucher auf die Seite „Stop“ weitergeleitet, ansonsten kann der Besucher sich die Seiten/Artikel anschauen. Die dritte Bedingung ist deshalb wichtig: wenn man die Seite „Stop“ aufruft, darf keine weitere Weiterleitung stattfinden, sonst wandelt sich die Anfrage in eine unendliche Loop.

Code für functions.php

function my_page_template_redirect(){
  if( is_user_logged_in() && ! current_user_can( 'oooooxooooo' ) && ! is_page( 'stop' ) ){
    wp_redirect( home_url( '/stop/' ) );
    exit();
  }
}
add_action( 'template_redirect', 'my_page_template_redirect' );

Code für functions.php bei Multisite

function my_page_template_redirect(){
  if( is_user_logged_in() && ! current_user_can_for_site( get_current_blog_id(), 'oooooxooooo' ) && ! is_page( 'stop' ) ){
    wp_redirect( home_url( '/stop/' ) );
    exit();
  }
}
add_action( 'template_redirect', 'my_page_template_redirect' );

Seite mit Infos für abgewiesene Nutzer

Besucher, die sich anmelden aber nicht die erforderlichen Berechtigungen haben, sollten nicht einfach eine weiße Seite zu sehen bekommen oder irgendeine Fehlermeldung. Es ist viel besser, diesen Personen eine Seite anzuzeigen, auf der wir angeben, dass sie keine Berechtigung haben und sich ggf. an den Homepage-Betreiber wenden sollen. Ein zusätzlicher Hinweis für Facebook-User, die das Facebook-Login zum ersten Mal nutzen und deshalb keine Berechtigung haben ist auch sinnvoll.

Facebook Login

Damit man als Homepage-Betreiber nicht all seine Bekannte erstmal anlegen muss – diese würden sich mit Sicherheit schwer tun, die Anmeldedaten zu behalten – installieren wir eine Facebook-Login Funktion. Wie du es wahrscheinlich schon mal gesehen hast, gibt es auf der Anmelde-Seite der Homepage neben der Eingabefelder für Benutzername und Passwort, ein Button „Connect with Facebook“ oder mit ähnlicher Beschriftung.

Egal welches Facebook Login Plugin verwendet wird, wir benötigen eine Facebook-App, zu der das Plugin eine Verbindung aufnehmen kann, wenn ein Facebook-Nutzer sich anmelden möchte.

Stand 2026: Meta stellt an solche Apps inzwischen deutlich höhere Anforderungen (HTTPS, Datenschutz- und Datenlösch-Seite, für Nutzer außerhalb der App meist eine Unternehmensverifizierung und eine App-Prüfung). Für eine private Familien-Homepage ist der Google-Login, den das unten genannte Plugin ebenfalls kostenlos mitbringt, oft der einfachere Weg.

Einstellungen der Facebook-App für den Login

Facebook App erstellen

Um eine Facebook-App zu erstellen, meldet man sich hier an: https://developers.facebook.com. Natürlich muss man Facebook-Zugangsdaten haben, sonst muss man sich registrieren.

  • Eine neue App erstellen: App-Name + Kontakt-E-Mail, als Anwendungsfall „Facebook Login“ wählen
  • Facebook Login anpassen: Berechtigung „email“ hinzufügen und die gültige OAuth-Redirect-URI eintragen, die das Plugin anzeigt (die Website muss per HTTPS erreichbar sein)
  • Einstellungen > Allgemeines: App-Domain, URL der Datenschutzerklärung, der Nutzungsbedingungen und der Anleitung zur Datenlöschung, Kategorie und App-Symbol eintragen; Plattform hinzufügen -> Website -> URL eingeben (speichern)
  • Damit sich nicht nur Personen mit einer Rolle in der App anmelden können: Unternehmensverifizierung und App-Prüfung durchlaufen, danach die App vom Entwicklungsmodus auf „Live“ schalten
  • App-ID und App-Geheimcode kopieren und in WP einfügen

Nextend Social Login einrichten

Wir verwenden nun als Plugin Nextend Social Login (Stand 2026; das früher hier empfohlene Plugin „WordPress Social Login“ wurde 2023 wegen einer Sicherheitslücke auf wordpress.org geschlossen): das Plugin ist in der Grundversion kostenfrei und kann neben Facebook auch Google und X (ehemals Twitter) verbinden, weitere Netzwerke gibt es in der Pro-Version.

Damit das Plugin tut was wir wollen, müssen wir folgendes einstellen:

  1. Daten aus der Facebook App kopieren und in das Plugin eintragen
  2. Registrierungen und Anmeldungen sollen erlaubt sein (in Nextend: Allgemein > Membership > Enabled)
  3. Die sich über Netzwerke verbindenden User erhalten zunächst die Role „Abonnent“ (Subscriber) – das ist die Standardrolle für neue Benutzer, die wir unter Einstellungen > Allgemein zur Sicherheit noch einmal prüfen: sicher ist sicher!

Wenn ein neuer Facebook-User sich registriert, möchten wir auch informiert werden, um die Berechtigungen, zu ändern (oder nicht, wenn es sich nicht um erwünschte Personen handelt). Nextend verschickt dazu standardmäßig die WordPress-Benachrichtigung bei Neuregistrierungen, der Admin bekommt also eine E-Mail. In der Pro-Version lässt sich unter Registration notification sent to auch „Admin“ allein auswählen.

Facebook Apps Daten einfügen

WP Social Login: Daten der Facebook-App einfügen

Allgemeine Einstellungen

WP Social Login: allgemeine Einstellungen

Berechtigung für neue Anmeldungen

WP Social Login: Berechtigung für neue Anmeldungen

Optional: Admin-Bar entfernen

Wenn man möchte, dass Benutzer aus der Gruppe „Family & Friends“ bzw. solche die keine Admins sind (oder Admin-Berechtigungen haben), die Admin-Bar nicht sehen sollen, dann kann man diese entsprechend ausblenden. Dazu wird erneut in der functions.php Code hinzugefügt:

function remove_admin_bar() {
if( ! current_user_can('manage_options') && ! is_admin() ){
show_admin_bar(false);
}
}
add_action('after_setup_theme', 'remove_admin_bar');

Achtung: das bedeutet natürlich, dass diese Benutzer nicht ohne Weiteres in ihr Profil gelangen können und entsprechend ihre eigenen Daten nicht bearbeiten können. Dafür können wir aber in einem passenden Menü einen Eintrag hinzufügen z. B. „Profil bearbeiten“ der https://meine-website.tld/wp-admin/profile.php verlinkt.

Zusammenfassung

Wir haben eine bestehende Homepage verändert, sodass Inhalte erst nach Anmeldung gesehen werden können – wenn die Berechtigung stimmt.

Die Anmeldung alleine reicht nicht aus, der Besucher darf nicht der Gruppe (Rolle) Abonnent gehören (das ist übrigens die Standard-Rolle, wenn Nutzer angelegt werden) und muss eine Zusatz-Berechtigung oooooxooooo besitzen. Nicht erlaubte Besucher werden auf die Seite „Stop“ weitergeleitet.

Zu alledem haben wir einen „Facebook-Connector“ eingerichtet: Facebook-User können sich anmelden ohne Login und Passwort einzugeben. Neu angemeldete Facebook-User gehören automatisch der Gruppe Abonnent und dürfen vorerst nichts sehen. Achtung: wenn der Besucher einen Adblocker benutzt, kann es sein, dass die Facebook-Anmeldung fehlschlägt.

Als Administrator werde ich automatisch über Neuregistrierungen informiert: wenn ich den Facebook-User kenne, dann weise ich ihm die Rolle „Family & Friends“ zu.

Du planst eine neue Website? Wir entwickeln WordPress-Webseiten, die du selbst pflegen kannst. Mehr zu WordPress Webseiten

  • #App ID
  • #Berechtigung
  • #Capability
  • #Facebook App
  • #Facebook Login
  • #functions.php
  • #Hook
  • #Member
  • #Members
  • #Subscriber
  • #User role
  • #User Role Editor
  • #WordPress
  • #WordPress Anmeldung
  • #WordPress Multisite
  • #WordPress Registrierung
  • #WordPress Social Login

Veröffentlicht am 21. Juli 2017, zuletzt geändert am 12. Oktober 2026

Älterer Beitrag WordPress: Kontaktformulare erstellen mit optionaler Kopie für Absender Neuerer Beitrag WordPress: Artikel oder Seiten mit Facebook oder Twitter teilen – Datenschutz konform

Weiterlesen

Mehr aus dem Blog

Alle Beiträge

Programmierung März 2023

DIVI Theme: Reply-To des Kontaktformular-Moduls ändern

Weiterlesen

Tutorial Mai 2018

DSGVO kompatibles Kontaktformular mit Gravity Forms

Weiterlesen

SaaS Web Info April 2018

WordPress und WooCommerce – das perfekte Duo

Weiterlesen

Unser Werkzeugkasten

Technologien & Tools, mit denen wir täglich arbeiten

Mehr zu unseren Technologien
  • npm
  • vtiger
  • ElasticSearch
  • Mastodon
  • Composer
  • Yarn
  • Contao
  • osTicket
  • PHP
  • Solr
  • GitLab
  • Ubuntu
  • Icinga
  • Nextcloud
  • MediaWiki
  • Vue
  • node
  • Meilisearch
  • Zammad
  • Kirby
  • Capistrano
  • Wekan
  • Angular
  • HTML5
  • Matomo
  • OpenProject
  • SOGo
  • openstack
  • Foswiki
  • WordPress
  • TYPO3
  • Ruby on Rails

Die Agentur

SaaS Web Büro
Steinstraße 25
76133 Karlsruhe

Bürozeiten:
Mo-Fr 9.30 - 18.30

  • Über uns
  • Blog
  • AGB
  • Impressum
  • Datenschutz

Leistungen

  • Planung
    • Beratung und Konzeption
    • Website Relaunch
  • Content & Marketing
    • Texte, Inhalte & Landing Pages
    • Online Marketing
  • Entwicklung & Betrieb
    • Individuelle Programmierung
    • Managed Hosting
    • Service & Betreuung

Software & Entwicklung

  • Technologien & Frameworks
    • Craft CMS
    • Ruby on Rails
    • WordPress
      • WordPress Webseiten
      • WordPress Entwicklung
      • WordPress Shops
      • WordPress Support
  • Software für Kommunen
    • Ferien-Plattform
    • Ermäßigungsprogramm
    • Nachmittagsbetreuung
  • Einsatz von KI
  • Deutsch
  • English
  • Français