Seite rollenabhängig excluden

  • Hallo,

    folgende Problematik meinerseits:

    Ich beabsichtige, eine Seite meines Blogs (ich nenne sie mal "xyz") nur einer Handvoll Usern mit einer entsprechenden Role Manager-Berechtigung ("Read private pages") zugänglich zu machen, d.h., die Seite soll für diese Berechtigtengruppe im Headermenü angezeigt werden, für alle anderen aber nicht.

    Die Möglichkeit, die entsprechende Seite allein als privat zu markieren und irgendwo zu verlinken finde ich maximal semitoll. Ebenso die Option des Passwortschutzes.

    Die hiermit

    PHP
    ... ...
    <li<?php if ( is_home() ) : ?> class="current_page_item"<?php endif; ?>><a href="<?php echo get_option('home');
    ?>">Home</a></li>
            <?php wp_list_pages('title_li=&depth=1&exclude=xyz'); ?>
    ... ...

    ausprobierte exclude-Geschichte würde wiederum bedeuten, die entsprechende Seite irgendwo verlinken zu müssen, was wie oben angedeutet nicht mein Plan ist.

    Nun bilde ich mir ein, dass es auf irgendeine -für Kenner der Materie wahrscheinlich lächerlich simple- Weise machbar sein sollte, den obigen Code mit einer entsprechenden Berechtigungsabfrage zu verschwurbeln.

    Ich selbst bin maximal php-Pennäler, als Autodidakt aber sowohl wissbegierig als auch willens, ausgiebig nach Lösungen zu suchen (hier im Forum und auch anderswo). Nur bin ich dessen nach Stunden der Erfolglosigkeit inzwischen ziemlich müde und belästige daher nun all jene Forumteilnehmer damit, die mir evtl. Hilfestellung leisten könnten.

    Mein Dank sei Euch gewiss!

    Gruß,
    Börnsen

    • 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


  • Die Möglichkeit, die entsprechende Seite allein als privat zu markieren und irgendwo zu verlinken finde ich maximal semitoll. Ebenso die Option des Passwortschutzes.

    Kann ich verstehen.
    Es gibt aber noch mehr Dinge dabei zu beachten:

    1. Ist die Seite trotzdem erreichbar durch manuelle URL Eingabe. Es ist also ...
    2. Trotzdem ein Passwortschutz nötig.
    3. Die Besucher müssen sich registrieren. Und haben damit ...
    4. Zugriff auf das WP-Backend.



    Wenn du damit leben kannst probiere das mal aus: http://bueltge.de/userlevel-bezo…-wordpress/292/

    "Whoever controls the media, controls the mind." J.Morrison

  • Kann ich verstehen.
    Es gibt aber noch mehr Dinge dabei zu beachten:

    1. Ist die Seite trotzdem erreichbar durch manuelle URL Eingabe. Es ist also ...
    2. Trotzdem ein Passwortschutz nötig.
    3. Die Besucher müssen sich registrieren. Und haben damit ...
    4. Zugriff auf das WP-Backend.

    zu 1.: Nicht so schlimm, die Seite wird keine großen Geheimnisse enthalten, sondern ein Tippspiel. Wer sich die Mühe macht, die URL herauszubekommen und aufzurufen, wird dann schlimmstenfalls feststellen, dass er nicht zu den Teilnehmern am Spiel gehört.
    Die Seite aber grundsätzlich anzeigen zu lassen fänd ich im Interesse "einfacher" Besucher eher unschön.

    zu 2.: Nicht notwendig, siehe Punkt 1.

    zu 3. + 4.: Das wäre in dem Fall beabsichtigt, weil Tippspiel und so.

    Wenn du damit leben kannst probiere das mal aus: http://bueltge.de/userlevel-bezo…-wordpress/292/


    Kann ich gut. Danke recht schön für den Link. Ich werde mal eben experimentieren... ...

  • Ich bin wahrscheinlich wirklich ein ziemlicher Honk...

    Der vom telekommander vorgeschlagene Link war scheinbar ein ziemlich guter, doch bekomme ich das dort geschriebene nicht umgesetzt bzw. funktionstüchtig gecodet.

    Idee anyone? Dit wär soooo liep!

    Börnsen

  • Och mensch ...

    PHP
    [COLOR=Red]<?php[/COLOR] if (intval($userdata->user_level) >= 9 ) [COLOR=Blue]{[/COLOR][COLOR=Red] ?>[/COLOR]
    
    
        [COLOR=SeaGreen]<div>[/COLOR] <!-- Hier Html Kram einfügen --> [COLOR=SeaGreen]</div>[/COLOR]
    
    
    [COLOR=Red]<?php[/COLOR] [COLOR=Blue]}[/COLOR] [COLOR=Red]?>[/COLOR]

    Eins zu eins kannst du das nat. nicht übernehmen, solltest schon sagen wo PHP bzw. HTML anfängt oder aufhört.

    "Whoever controls the media, controls the mind." J.Morrison

  • Je nachdem wie die Einbindung läuft, könnte man auch per

    PHP
    if( USERLEVEL < 9)
    { return; }

    die Ausgabe stopen, wenn die bönigten Recht nicht vorhanden sind.

    LG

  • Och mensch ...


    Oha... das klang ja schon bissel genervt... hoffe, es klang falsch :|

    Ich jedenfalls bin weiterhin am Scheitern. Hab versucht wie blöde... klappt alles nicht wie erhofft...

    Angenommen, ich habe die Seiten "Home", "123" und "xyz" erstellt.
    Im Role Manager eingetragene relevante Benutzerlevel, die die Seite "xyz" sehen können sollen, wären 7 und größer. Alle Level darunter sollen dementsprechend nur "Home" und "123" sehen.

    Und das hier ist meine momentane header.php:

    Weiß jemand wohin mit welchem Befehl? Und mag es mir verraten? Wär prima.
    Dankschön vorab!

  • Oha... das klang ja schon bissel genervt... hoffe, es klang falsch


    ... wer weiss ...
    Ich mag es nun mal nicht Code vorzukauen und/oder Code einfach hinzurotzen.

    [COLOR=Red][COLOR=Black]
    Code ist ungetestet, fehlt mir momentan die Plattform dazu.[/COLOR]
    [/COLOR]

    "Whoever controls the media, controls the mind." J.Morrison

  • ... wer weiss ...
    Ich mag es nun mal nicht Code vorzukauen und/oder Code einfach hinzurotzen.


    Versteh ich gut. Versuche, mich zu (ver)bessern, is ja auch nich so dufte, hier so unfähig rüberzukommen.
    [COLOR=Red][COLOR=Black]
    [/COLOR][/COLOR]

    [COLOR=Red][COLOR=Black]Code ist ungetestet, fehlt mir momentan die Plattform dazu.[/COLOR][/COLOR]


    Macht gar nix. Ich teste selbst und berichte.
    Vorher nochmal: 1000 Dank!

  • Nochmal ich zum Abschluss des Ganzen:

    Vielen Dank zuerst nochmal an telekommander für die ganze Mühe!
    Hab's aber trotz allem über den Header-Code nicht gebraten bekommen.

    Schließlich half mir eine lustige Verschwurbelung der Plugins Role Manager und Role Scoper dabei, meinen Plan in die Tat umzusetzen.

    Also: Klappe zu, Affe tot.

Jetzt mitmachen!

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