Links zur Benutzerverwaltung

  • Habe das Foren-Plugin “Asgaros” (& dessen “Toolbox“ Add-on) + “Paid Memberships Pro” als Benutzer- bzw. Mitgliederverwaltung.

    Die Benutzer, also konkret die Foristen sollen ihr Profil (vom Forum > Profile ausgehend) sehen/ändern können, aber nicht mit dem WP-Backend in Berührung kommen.
    Also Registrierung, Login, Profil sehen u.o. bearbeiten, … soll ausschließlich zu den diversen Seiten führen, welche “Paid Memberships Pro” zur Verfügung stellt.
    Das klappt mit diesen Codes, bzw. dem Add-on oder für manches reichen die Asgaros Optionen.

    Jedoch kann danach auch der Admin die Benutzer nur mehr über diese Frontend-Seiten aufrufen.

    Toll wäre wenn:

    1. Benutzer stets über die Benutzerverwaltung des Plugins “Paid Memberships Pro” geführt werden
      und
    2. Admins in erster Linie die WP native Benutzerverwaltung aufrufen können.


    Leider lassen die oa. Lösungen immer nur eine Methode zu. Also entweder alle Links führen zur WP Benutzerverwaltung oder alle werden zu den Seiten des Plugins geleitet.

    Wie könnte man das lösen, dass Benutzer und Admins verschiedene Links zur Benutzerverwaltung haben?

    mfg - pezi | (PS: Suche vorher eh hier u. anderswo nach Hin- u. Verweisen)

    • 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

  • Ja schon, und nun das berühmte "aber":

    Dieses Plugin steht eigentlich stellvertretend für viele Benutzerverwaltungs-Plugins o.ä. Habe auch "Ultimate Member" usw. so eingesetzt. Auch das übernahm dann alles für alle Benutzergruppen.

    Mir geht es darum, ob für WP selbst ein Trick bekannt ist, womit man beide Wege gehen kann. Also das Besucher ihre Profile in der Frontend-Ansicht irgendeines dieser aufgebohrten Benutzerverwaltungen bearbeiten können - aber das der Admin zugleich nicht seine WP internen Möglichkeiten verliert.

    Welches Plugin dann zum Einsatz kommt, ist mir jetzt noch nicht so wichtig.
    Wichtig ist, dass der Admin alle seine gewohnten Schritte innerhalb des Backends gehen kann und nicht auch auf die Profillinks umgeleitet wird, die normale Abonnenten bekommen.

    Umleitung ist da auch das Stichwort:

    PHP
    add_filter('edit_profile_url', 'my_edit_profile_url', 10, 3);
    function my_edit_profile_url($url, $user_id, $scheme) {
        return home_url('/my-edit-profile-page/'.$user_id);
    }

    scheint eine, für alle gültige Weiterleitung zu etablieren. Diese Weiterleitung unterscheidet nicht nach Benutzergruppe, Rolle , Rechte, ...
    Und ich glaube, dass man hier ansetzen müsste.
    Irgendein

    Code
    if (Admin) ... dann lasse alles so ... wenn nicht, wenn Abonennent, dann kommt oben gezeigter Code dran


    Ich weiß nur nicht, wie ich es dem Script erkläre, wer gerade drin ist. (Hier gibts ja auch Unterscheidungen nach Rechten usw, oder?)

    mfg - pezi | (PS: Suche vorher eh hier u. anderswo nach Hin- u. Verweisen)

  • Wichtig ist, dass der Admin alle seine gewohnten Schritte innerhalb des Backends gehen kann und nicht auch auf die Profillinks umgeleitet wird, die normale Abonnenten bekommen.


    Das ist mit allen gängigen Member Plugins der Fall. Evtl. schiesst Dein Foren-Plugin quer. Verwende Member Plugins testweise alleine ohne andere Plugins in jeweils komplett frischen WordPress Installationen, dann kannst Du das rausfinden.

    Ergänzung: Wie Du das Linkziel bei z.B. Ultimate Member im Detail pro Rolle einstellen kannst, siehe hier. Ein grundsätzlicher Fehler bei Dir könnte sein, dass Dein Admin eventuell auch gleichzeitig die Rolle eines Members/Abonnenten hat und so Verwirrung zustande kommt.

    Und wo der [FONT=Courier New]edit_profile_url[/FONT] Filter im WordPress Core zur Anwendung kommt, unterscheidet der WordPress Core vorher anhand von Rollen über den Inhalt.

    5 Mal editiert, zuletzt von b3317133 (19. November 2024 um 20:59)

  • Evtl. schiesst Dein Foren-Plugin quer.


    Das Plugin an sich nicht - nur der oben gezeigte Code (welcher eben auf deren Site steht). Der etabliert eine Weiterleitung, die für alle gilt.

    Doch das mit

    Code
    is_user_admin()

    könnte eine Spur sein.

    PHP
    if ( !is_user_admin() ) {
        add_filter('edit_profile_url', 'my_edit_profile_url', 10, 3);
        function my_edit_profile_url($url, $user_id, $scheme) {
        return home_url('/my-edit-profile-page/'.$user_id);
        }            
    }


    geht aber auch nicht in die richtige Richtung, im Gegenteil ...

    Edit: Evtl. wäre das besser: https://developer.wordpress.org/reference/func…rrent_user_can/ ?
    Nur wie, wo was ... hmmm

    mfg - pezi | (PS: Suche vorher eh hier u. anderswo nach Hin- u. Verweisen)

  • Entferne den Code


    Nein, ich will ja damit erreichen, dass die Foristen, Abonnenten ihr Profil in, mit einem solchen Plugin bearbeiten können. Das geht nur mit dem Code, ansonsten landen die im Profil, wie sie das WP Backend zeigt. (was eben recht primitiv ist, bei den Leuten Verwirrung stiftet (wo bin ich denn da?) und auch nicht toll aussieht)
    Admins sollen die Profile bevorzugt im Backend aufrufen können.

    mfg - pezi | (PS: Suche vorher eh hier u. anderswo nach Hin- u. Verweisen)

  • Wo die Leute landen, stellt man wie oben in Antwort #4 beschrieben (und dort noch weiter ergänzt) in den jeweiligen Member Plugins pro Rolle ein. Dann leitet das Member Plugin auf das gewünschte Linkziel weiter statt das WP Backend zu zeigen. Ohne extra Code.

  • Wo die Leute landen, stellt man wie oben in Antwort #4 beschrieben (und dort noch weiter ergänzt) in den jeweiligen Member Plugins pro Rolle ein.


    Stimmt schon.
    Bei Paid Memberships fand ich aber nur die Option, wonach man Abonnenten den Zutritt ins WP Dashboard verwehren kann: "Alle Benutzer mit der Rolle „Abonnent“ für den Zugriff auf das Dashboard sperren." (Was ich natürlich aktiv habe)

    Ein grundsätzlicher Fehler bei Dir könnte sein, dass Dein Admin eventuell auch gleichzeitig die Rolle eines Members/Abonnenten hat und so Verwirrung zustande kommt.


    Stimmt! Daran dachte ich nicht. Der ist auch per Paid Memberships registriert.

    Sehe schon, das wird noch kompliziert ...

    mfg - pezi | (PS: Suche vorher eh hier u. anderswo nach Hin- u. Verweisen)

  • So, glaube, so gehts:

    PHP
    if ( ! current_user_can( 'activate_plugins' ) ) {
    add_filter('edit_profile_url', 'my_edit_profile_url', 10, 3);
    function my_edit_profile_url($url, $user_id, $scheme) {
        return home_url('/my-edit-profile-page/'.$user_id);
    }   
    }

    Unabhängig vom eingesetzten Member-Plugin und dessen Optionen zur Behandlung der Rollen kann der Admin weiterhin alles wie gewohnt in der nativen WP Benutzerverwaltung machen; alle anderen werden ausnahmslos auf die im Code definierte Seite geschickt, wo das aktive Members-Plugin seine Möglichkeiten anbietet.

    Zumindest funktioniert es jetzt mal wie gewünscht - ob es so bleibt, mal sehen ...

    mfg - pezi | (PS: Suche vorher eh hier u. anderswo nach Hin- u. Verweisen)

  • Entferne die Membership Abonnenten Rolle beim Admin


    Stimmt!

    Es gibt eigentlich auch keinen besonderen Grund, warum der Admin auch Mitglied sein sollte.
    Dennoch: Mit dem Code ginge beides ...

    Danke!

    mfg - pezi | (PS: Suche vorher eh hier u. anderswo nach Hin- u. Verweisen)

  • Ist ja schon weg. Außerdem nur eine Testsite, auf der sich noch viel ändert.
    Und ich hatte das echt nicht am Radar, mit der Doppelrolle des Admins - Danke.

    mfg - pezi | (PS: Suche vorher eh hier u. anderswo nach Hin- u. Verweisen)

Jetzt mitmachen!

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