Sidebareinträge einblenden

  • hi,


    will folgendes machen:

    wenn jemand NICHT registriert ist, soll er in der sidebar nur "anmelden" sehen. dies habe ich momentan so stehen.

    wenn er sich anmeldet sollen neue einträge hinzukommen.

    wie mache ich das am besten?!


    gruß
    dom!

    • 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

  • Wie man solche Abfragen macht, habe ich dir doch schon in einem anderen Thread (http://forum.wordpress-deutschland.org/showthread.php…ight=user_level bzw. http://forum.wordpress-deutschland.org/showpost.php?p=62598&postcount=10) gezeigt. Die kannst du doch logischerweise auch hier nutzen:

    PHP
    <?php global $user_login; if ($user_login <> '') { ?>
    Neue Einträge in der Sidebar
    <?php } else { ?> 
    Link zu wp-login oder wp-register.php
    <?php } ?>

    "Eine gut gestellte Frage ist schon halb beantwortet."

  • oh, vielleicht hab ich mich nicht richtig ausgedrückt, sorry.


    das mit dem erkennen, sprich, ob man user ist oder nicht, hab ich schon hin bekommen.

    leider ist meine version recht umständlich:

    habe alle seiten nun in der sidebar.

    mein theme benutzt die seiten im header.

    und ich blende sie mit exclude aus. sprich: wenn ich eine neue seite hinzufüge muss ich immer dran denken sie in der sidebar auszublenden. nach einiger zeit wird dann auch das sehr umständlich, da ich 100 seiten oder was ausblende und nur eine einblenden will.

    hoffe mich nun besser ausgedrückt zu haben.


    mein "wunschbefehl" wäre denke ich mal: alles ausblenden bis auf seite xyz.

  • Zitat

    mein "wunschbefehl" wäre denke ich mal: alles ausblenden bis auf seite xyz.


    Da es diesen Befehl nicht gibt, muss dann wohl einen anderen Weg gehen.
    Für angemeldete User werden per list_pages alle Seiten angezeigt und für nicht angemeldete, gibt es kein list_pages, sondern die einzige Seite, die angezeigt werden soll in der Sidebar, wird manuell in der sidebar verlinkt*.


    *

    PHP
    <h2>Seiten</h2>
    <ul><li><a href="http://.....">Anmelden</a></li></ul>

    "Eine gut gestellte Frage ist schon halb beantwortet."

  • Ich habe heute mal mein erstes Plugin geschrieben, welches diese Funktion übernimmt.

    http://zeitgrund.de/pages-for-members-only.zip

    Für eingeloggte User zeigt es die normale Seitenauflistung an. Nicht eingeloggte User bekommen stattdessen die Links zum anmelden bzw. registrieren.
    Schafft es der User trotzdem, auf eine Seite zu gelangen, so wird der Zugriff auf deren Inhalt verweigert.
    Leider ist das ganze recht diletantisch programmiert, aber es scheint so weit zu funktionieren ;)
    In der sidebar muss das wp_list_pages gegen hide_list_pages ausgetauscht werden.

    "Eine gut gestellte Frage ist schon halb beantwortet."

    Einmal editiert, zuletzt von jottlieb (4. Oktober 2006 um 19:19)

  • hi,
    gibt es den mittlweriele ne neure variante, da ich in meiner siebar.php nicht die einträge fürd ie modifizierung finden kann?


    EDIT:
    Also ich hab jetzt ne variante gefunden, Nicht-angemeldete User bestimmte Elemente aus der sidebar nicht anzeigen zu lassen!

    Das Plugin nennt sich "Widget Logic" (v 0.47 habe ich).
    Nach der Installation müsst ihr ins zu den sidebar einstellungen wechseln.
    rechts in der sidebar sind die ganzen widgets aufgeführt. klickt auf den pfeil zum ausrollen. ganz unten von diesem widget ist ein neues feld namens "widget logic" und eine eingabezeile.
    In diese eingabezeile muss das rein "is_user_logged_in()". SPEICHERN.
    jetzt ist dieses widget nur für angemeldete user sichtbar.
    wenn alle widgets für nicht angemeldete user verborgen sein sollen, müsst ihr das für alle widgets wiederholen/einfügen.

    gefunden hab ich dies hier http://webmatter.de/widget-logic/
    die eingabe für die eingabeleiste der jeweiligen widgets könnt ihr variieren.
    in wie fern dass weiss ich nicht / interessiert mich auch nicht^^
    aber ich denke man kann für div. Benutzergrade auch noch einen was einstellen. Eine Sammlung was man noch einfügen kann, findet man hier http://codex.wordpress.org/Conditional_Tags

    In Verbindung mit "Private BuddyPress" (Plugin für eine abgesicherte Community für die Modifikation BuddyPress) + "BuddyPress Humanity" (Geheime Frage für die "Registrieren"-Seite) seit ihr meines erachtens ziemlich gut abgesichert.

    mfg

    Einmal editiert, zuletzt von whitef (30. November 2010 um 21:37)

Jetzt mitmachen!

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