members

Members-Only mit WordPress

Wie macht man mit WordPress einen Mitglieder-Bereich?

Firmen, Vereine und andere Organisationen brauchen oft einen geschützten Bereich, der nur für ausgewählte Mitglieder zugänglich ist. Auch dies kann mit WordPress erreicht werden.

Hier versuche ich einen Weg zu zeigen, der nicht zu viele Plugins verlangt und auch keine Code-Kenntnisse voraussetzt.

Inhalt

  • Login, Logout, Registrierung ins Navigations-Menü
  • Internes und Externes Menü
  • Redirect bei Login bzw. Logout

WordPress Child Theme

  • Warum ein Child Theme Sinn macht und wie man eines baut

Login-Bildschirm anpassen (Plugins):

Abonnenten (Subscriber Benutzerrolle in WordPress) erlauben, Private Beiträge und Seiten zu sehen
Diesen Code in functions.php einfügen (Quelle: http://stackoverflow.com/questions/11407181/wordpress-private-posts):

 

$subrole = get_role( 'subscriber' );
 // For private pages
 $subrole->add_cap( 'read_private_pages' );
 /// For private posts
 $subrole->add_cap( 'read_private_posts' );

 

Hast du noch Fragen zu WordPress? Nenne sie hier bei den Kommentaren oder auf unserer Facebook-Seite.

26 Kommentare

  1. Veröffentlicht von Nadine Hudson am 6. August 2013 um 11.34

    Super…

    … und damit man den Code nicht selber tippen muss:



    ’intern’, ‘menu_class’ => ‘nav-menu’ )); ?>


    ‘extern’, ‘menu_class’ => ‘nav-menu’ )); ?>

  2. Veröffentlicht von ted am 6. August 2013 um 15.00

    Sind die Beiträge wirklich geschützt, oder kann ein jeder der ein Link zum Foto oder Beitrag hat diesen einsehen?

    • Veröffentlicht von Arto Steiner am 12. August 2013 um 14.53

      Hallo Ted

      Ja, die Beiträge sind geschützt. Also über die URL kommt „Nicht gefunden“ wenn man nicht eingloggt ist – also gäbe es die Inhalte nicht.

      Gruss
      Arto

  3. Veröffentlicht von Elin am 3. September 2013 um 11.35

    Hallo Arto

    Vielen Dank für die super Anleitung. Leider hat es mit meinem Theme nicht ganz so einfach funktioniert, jedoch waren durch deine Anleitung alle Vorbereitungen wunderbar gemacht. Somit konnte mir Elegantthemes mühelos weiterhelfen.

    Nochmals vielen herzlichen Dank
    Elin

    • Veröffentlicht von Arto Steiner am 3. September 2013 um 15.27

      Hallo Elin
      Vielen Dank für das Feedback und die Info über den Elegantthemes Support 🙂

      Liebe Grüsse
      Arto

  4. Veröffentlicht von Dominik am 25. August 2014 um 14.44

    Logische Anleitung, sollte machbar sein. Bevor ich es aber probiere: Kann man die Eigen-Registratur auch sperren? Ich will ja nicht, dass sich jeder anmelden und dann den internen Inhalt sehen kann. Jene, die Zugang haben sollen, denen teile ich das Login auf anderem Weg mit.
    Gruss, Dominik

    • Veröffentlicht von Arto Steiner am 25. August 2014 um 14.51

      Danke Dominik, das ist ein wichtiger Punkt. Ich sehe zwei Möglichkeiten:

      1. „New User Approve“ Plugin verwenden, damit die neuen Benutzer nicht direkt freigegeben werden, sondern durch einen Moderator manuell akzeptiert werden sollen.

      2. Benutzer manuell erstellen und einen Zugang erstellen. (Je nach Unternehmensgrösse nicht möglich)

  5. Veröffentlicht von Nicole am 3. März 2015 um 10.46

    Lieber Arto

    Dein Video finde ich super und genau ein solcher Bereich möchte ich!
    Nur habe ich leider das Problem, dass ich das Theme „Hemingway“ benutze und es damit nicht funktioniert.

    Der Code ist folgender:
    “,
    ‚items_wrap‘ => ‚%3$s‘,
    ‚theme_location‘ => ‚primary‘,
    ‚walker‘ => new hemingway_nav_walker
    ) ); } else {
    wp_list_pages( array(
    ‚container‘ => “,
    ‚title_li‘ => “
    ));
    } ?>

    Wenn ich den ersetze, zeigt es mir keine Navigation mehr an.

    Ich habe schon diverse Plugins versucht, jedoch ist alles nicht das was ich will.

    Hast du für das eine Lösung?

    Herzlichen Dank für deine Rückmeldung und liebe Grüsse
    Nicole

    • Veröffentlicht von Arto Steiner am 3. März 2015 um 10.55

      Hallo Nicole

      Wenn du willst, kannst du per E-Mail mit mir in Kontakt treten, dann können wir das anschauen… (arto@walterlernt.ch) Ich bräuchte dann aber auch ein Login.

      Eine Alternative könnte das Plugin WishList Member sein. Ist zwar kostenpflichtig , kann aber sehr viel.

      Liebe Grüsse
      Arto

  6. Veröffentlicht von Sascha am 3. März 2015 um 15.06

    Hallo, toller Beitrag.. Doch habe ich hier zwei Fragen, kann man auch zum Beispiel Mitglieder „Mannschaft“ und „Trainer“ erstellen damit diese mehr oder weniger Inhalte sehen?

    • Veröffentlicht von Arto Steiner am 9. März 2015 um 10.15

      Hallo Sascha

      Nein, mit dieser Methode geht das leider nicht. Ich empfehle für solche Projekte das kostenpflichtige Plugin WishList Member. Das übernimmt einige dieser Aufgaben.

      Hoffe das hilft.

      • Veröffentlicht von Sascha am 9. März 2015 um 17.08

        Kennst Du noch andere solche Plugins, weil müssten 4 Abstufungen haben….

        • Veröffentlicht von Arto Steiner am 9. März 2015 um 17.53

          Das Plugin WishList Member kann problemlos mit 4 Stufen umgehen. Kenne gerade kein anderes…

  7. Veröffentlicht von Chasper am 3. März 2015 um 18.49

    Hallo
    Super Anleitung. Bei mir hat alles super Funktioniert, ausser das ich jetzt mit Mobilen Geräten kein Menü mehr habe. Gibt es da Abhilfe?
    Danke Gruss
    Chasper

    • Veröffentlicht von Arto Steiner am 9. März 2015 um 10.16

      Hallo Chasper

      Das hängt vom Aufbau deines Themes ab, ist aber sicher lösbar.

      Wenn du willst, kannst du per E-Mail mit mir in Kontakt treten, dann kann ich das mal anschauen… (arto@walterlernt.ch) Ich bräuchte dann aber temporär ein Login auf Admin-Stufe.

  8. Veröffentlicht von Roman am 9. September 2015 um 23.17

    Hallo
    Ein sehr toller und hilfreicher Beitrag echt super^^
    Ist es möglich das Mitglieder z.B. per mail ihr benutzername und Passwort automatisch generiert und zugesendet bekommen nach ausführung einer genau definierten Handlung?
    Und kann man den Internen Bereich so anordnen, das die Mitglieder dann zwar den Inernen Bereich sehen, jedoch nicht auf die Einstellungs-, Anpassmöglichkeiten etc. von WordPress zugriff haben, sondern explizit nur auf die auf Privat gestellten Inhalte?
    Freundliche Grüsse Roman

    • Veröffentlicht von Arto Steiner am 11. September 2015 um 14.59

      Hallo Roman

      ​Du kannst Registrierungen akzeptieren (Einstellungen > Allgemein) und bei Bedarf zusätzlich ein Plugin verwenden wie „Approve new user“ um entscheiden zu können, wer berechtigt ist.
      ​Oder du erstellst die Benutzer selber und kannst ihnen so einen Zugang per E-Mail zusenden lassen.

      ​Ja, wenn man einen Redirect einbaut, dass die Members beim einloggen direkt wieder auf die Website gelangen, dann sehen sie den Admin Bereich nicht. Es ist auch so, dass du die richtige Benutzerstufe (meistens Abonnent) wählen musst, damit sie nicht zu viele Berechtigungen haben. Sollte jemand zB /wp-admin in die Adresszeile eingeben, dann kann er/sie einfach das eigene Passwort ändern, aber WP nicht weiter konfigurieren…

      Eine andere Alternative für den ganzen Members-Bereich wäre das kostenpflichtige Plugin Wishlist Member.

      ​Hoffe das hilft.

      ​Gruss
      Arto

  9. Veröffentlicht von Christoph am 5. März 2016 um 18.43

    Hallo Arto, wollte dies so einrichten wie im Video beschrieben, ebenfalls mit diesem Theme.
    Leider geht es nach dem einsetzen des Codes in den Editor nicht mehr weiter. Der Code wird mir so auf der Page im Menü angezeigt.
    Was mach ich nicht richtig?

    • Veröffentlicht von Arto Steiner am 5. März 2016 um 19.29

      Hallo Christoph

      Hm, kannst du mir das irgendwie zeigen? arto@walterlernt.ch
      Vielleicht finde ich das heraus…

      Ist nicht mehr das neuste Video, vielleicht hat sich da etwas in der Zwischenzeit geändert.

      Gruss
      Arto

  10. Veröffentlicht von Maria am 26. April 2016 um 20.10

    Hallöle,

    ich habe alles so eingerichtet wie beschrieben, jedoch scheitere ich am Einfügen in die header.php. Ich nutze als Theme Nirvana und bei mir steht im Code:

     

    und ich weiß nicht, ob das der richtige Ort ist bzw. was da wie gelöscht werden muss.
    Kann mir da wer helfen?

  11. Veröffentlicht von externer Datenschutzbeauftragter am 8. September 2016 um 16.48

    Hallöchen,

    ich stieß gerade auf den Artikel. Zwar nicht ganz das, was ich suchte, aber ich google mal weiter.. 😀 Dennoch absolut nützlich und seit moment -JETZT- unter meinen Favoriten zu finden.

    Danke! 🙂

  12. Veröffentlicht von Denis am 7. November 2016 um 23.17

    Hallo Arto

    Super Video, danke! Genau so ein internen geschützten Bereich möchte ich gerne haben!

    Ich benutze aber ein anderes Templates und da funktioniert es nicht… :-(.

    Der Code ist folgender:
    ‚primary‘ ) );
    }
    else {
    wp_page_menu();
    }
    ?>

    Wenn ich den Code durch Deinen ersetze, so ist die Navigation dann verschwunden…

    Auch habe ich schon diverse Plugins versucht, jedoch ist Deine Lösung die ich gerne haben möchte.

    Hast du für das eine Lösung für mein Problem?

    Herzlichen Dank für deine Rückmeldung und liebe Grüsse
    Denis

  13. Veröffentlicht von Moe Sullivan am 16. November 2016 um 21.09

    Hallo Arto

    Ich benutze das Theme twenty fifteen, kann da aber nirgends den Code „wp_nav_menu…“ finden um die Menüs zu definieren. Der Code befindet sich weder in sidebar.php noch in header.php. Kannst du mir einen Tipp geben? Wäre toll. Viele Grüsse, Moe

  14. Veröffentlicht von Nicole am 30. Mai 2017 um 08.20

    Lieber Arto

    Schon einmal habe ich mit deiner Anleitung einen Mitgliederbereich eingerichtet. Nun leider funktioniert es mit einem anderen Theme nicht (Code nimmt es nicht). Darf ich dir per E-Mail die Website mal angeben?

    Das wäre super. Vielen Dank und liebe Grüsse
    Nicole

    • Veröffentlicht von Arto Steiner am 30. Mai 2017 um 11.27

      Hallo Nicole
      Bitte nimm mit mir per E-Mail Kontakt auf: arto@walterlernt.ch
      Wir müssen dann schauen, wie wir das machen. Ich müsste einloggen können…
      LG, Arto

  15. Veröffentlicht von Norbert am 22. Juli 2021 um 16.23

    Hallo Arto,

    dein Beitrag scheint langsam in die Jahre gekommen zu sein.
    Geht der Tipp mit:


    $subrole = get_role( ’subscriber‘ );
    // For private pages
    $subrole->add_cap( ‚read_private_pages‘ );
    /// For private posts
    $subrole->add_cap( ‚read_private_posts‘ );

    noch? Bei meiner aktuellen WordPress-Instanz scheint dies keine Auswirkungen auf die Abonnenten zu haben. Gibt es eine andere Möglichkeit auch „Subscriber“ das Leserecht für private Seiten zu geben?

    Beste Grüße
    Norbert

Hinterlassen Sie einen Kommentar