Bereiche erst nach Login sichtbar ...

  • Hallo Wordpress-Community,

    gibt es eine Möglichkeit, das selbst angelegte Sites erst nach einem erfolgreichen Login angezeigt werden?
    Das z.B. nur Subscriber diese sehen etc.

    Danke schonmal!

    mfg
    Ando :mrgreen:

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Mit Posts ist das über diverse Kategorie-Plugins machbar, für Seiten habe ich leider auch noch keine "schöne" variante gefunden.

    Rein technisch machbar ist es über eine Kombination vom Pages Organizer Plugin (läßt dich die Kategorie einer Seite ändern) und einem der Kategorieversteck-Plugins (Category Visibility, Usermeta/Userextra, Category Access, etc.) machen. Indem du die Kategorie, in die du deine Seiten setzt, halt nur für eingeloggte freigibst.

    Das Problem an dieser Methode ist allerdings, dass Wordpress nicht daraufvorbereitet ist, Seite in der Seitennavigation per Kategorie zu verstecken (mit Posts klappt das). Machbar wäre an dieser Stelle, die gesamte Seitennavigation mit einer if(user ist eingeloggt) Abfrage zu koppeln, so dass die Seitennavigation nur eingeloggten angezeigt wird....


    äh....war das verwirrend? es sollte dein Problem lösen. Falls mein late-night-erklärungsversuch zu chaotisch war, einfach Bescheid sagen, dann versuch ichs nochmal besser.

    So long,

    Net.

  • Zitat

    gibt es eine Möglichkeit, das selbst angelegte Sites erst nach einem erfolgreichen Login angezeigt werden?

    Kurze Antwort: Ja :-)

    Etwas längere Antwort: Eigenes Seitentemplate, dort die Anzeige des Beitrags nur, wenn eingeloggt. Soll die Seite (z.B. Nummer 4) auch in der Seitennavigation nicht sichtbar sein, kann man eine Abfrage ähnlich der folgenden machen:

    PHP
    if ( is_user_logged_in() ) {
     wp_list_pages();
    } else {
     wp_list_pages('exclude=4');
  • Diese if-Abfrage meinte ich. Sie unterbindet allerdings nicht, dass jemand der die URL einer angelegten Seite kennt, diese ansehen kann, sondern nur, dass er das Menü sieht.

    Wenn das genug ist, machs so.

    spickzettel: Heißt die Funktion inzwischen echt "is_user_logged_in()"? Ich hab immer irgendwas krytischeres benutzt? *gern mal dazu lernt*

    Net.

  • Zitat

    Sie unterbindet allerdings nicht, dass jemand der die URL einer angelegten Seite kennt, diese ansehen kann


    Ja, aber dort gibt es dann nur die Meldung "Sorry, du musst dich erst einloggen" :-) Am besten gleich mit einem Link zum Login

  • Ja, aber dort gibt es dann nur die Meldung "Sorry, du musst dich erst einloggen" :-) Am besten gleich mit einem Link zum Login

    Hallo,
    ich habe den oben erwähnten Quellcode eingebunden. Wenn ich jetzt aber ausgeloggt bin und die page manuell aufrufe .../?page_id=32 dann zeigt er mir die seite trotzdem an. Und sagt mir nicht das ich mich erst einloggen muss.

    Wie kann ich das machen das auch der Zugriff im Nichtangemeldeten Zustand funktioniert?

    danke, Benedikt

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!