• Gelöst j_spaceman

    (@nothinghalosix)


    Hi,

    ich habe auf meiner Seite das Tidio Chat Plugin installiert und möchte das der Benutzer, der als Redakteur angelegt ist, das Plugin nutzen kann. Zurzeit ist es nur für den Admin sichtbar. Gibts da eine Möglichkeit hier eine Rolle zu erstellen, dass es auch für den Redakteur sichtbar ist?

    Danke

    LG

Ansicht von 13 Antworten – 1 bis 13 (von insgesamt 13)
  • Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Du könntest Dir mit einem kleinen Plugin behelfen:

    <?php
    /*
    Plugin Name: Tidio Editor
    */
    
    // ON ACTIVATION
    function allow_editor() {
    
    // get the the role object
    $role_object = get_role( 'editor' );
    
    // add $cap capability to this role object
    $role_object->add_cap( 'manage_theme_options' );
    }
    
    register_activation_hook( __FILE__, 'allow_editor' );
    
    // REMOVE OPTION-MENU
    function remove_menus(){
    if ( current_user_can('editor') ) {
        remove_menu_page( 'options-general.php' );        // remove settings menu
      }
    }
    add_action( 'admin_menu', 'remove_menus' );
    
    // ON DEACTIVATION
    
    function remove_editor() {
    
    // get the the role object
    $role_object = get_role( 'editor' );
    
    // add $cap capability to this role object
    $role_object->remove_cap( 'manage_theme_options' );
    }
    
    register_deactivation_hook( __FILE__, 'remove_editor' );
    Thread-Starter j_spaceman

    (@nothinghalosix)

    Hi Bego Mario,
    danke für die rasche Antwort. Habe es mit deinem Plugin versucht, aber der Menüpunkt wird immer noch nicht angezeigt. Habe einen Test User angelegt um es zu checken. Is da im Skript noch etwas anzupassen?

    LG

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Wie hast Du das Plugin denn installiert?

    Thread-Starter j_spaceman

    (@nothinghalosix)

    habs per FTP hochgeladen.

    Thread-Starter j_spaceman

    (@nothinghalosix)

    in welcher Zeile wird eigentlich festgelegt, welches Plugin für den Redakteur freigeschlaten werden soll?

    LG

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Hast Du das Plugin nach dem Hochladen auch im Menü Plugins aktiviert? Ich hatte das Plugin so geschrieben, dass die zusätzliche Berechtigung nur mit Aktivierung des Plugins erfolgt (und bei Deaktivierung wieder entzogen wird).

    Das Plugin fügt eine Einstellungs-Seite hinzu. Um darauf zugreifen zu können, muss der Redakteur das Recht erhalten, Einstellungen zu verwalten:

    $role_object->add_cap( 'manage_theme_options' );

    Dadurch kann der Redakteur nun einigen Schabernack anstellen, weshalb ich zumindest die Anzeige der übrigen Einstellungen entfernt habe:

    remove_menu_page( 'options-general.php' );

    Thread-Starter j_spaceman

    (@nothinghalosix)

    hi,
    ja das PLugin habe ich aktiviert. Eine weitere Einstellungseite hab ich nicht entdeckt. Wo sollte die angezeigt werden?

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Wenn Du das Plugin aktiviert hast, müsstest Du doch auch als angemeldeter Redakteur einen Menüeintrag „Tidio Chat“ sehen?

    Thread-Starter j_spaceman

    (@nothinghalosix)

    nein ich kann den Menüpunkt leider nicht sehen. Kann das sein, dass das irgendwie vom Tidio Chat Plugin unterbunden wird?

    kann man im Forum auch screenshots reinposten?

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Hrmpf, ich hab einen Fehler gemacht. Bitte erst das alte Plugin deaktivieren. Danach probier’s mal damit:

    <?php
    /*
    Plugin Name: Tidio Editor
    */
    
    // ON ACTIVATION
    function allow_editor() {
    
    // get the the role object
    $role_object = get_role( 'editor' );
    
    // add $cap capability to this role object
    $role_object->add_cap( 'manage_options' );
    }
    
    register_activation_hook( __FILE__, 'allow_editor' );
    
    // REMOVE OPTION-MENU
    function remove_menus(){
    if ( current_user_can('editor') ) {
        remove_menu_page( 'options-general.php' );        // remove settings menu
      }
    }
    add_action( 'admin_menu', 'remove_menus' );
    
    // ON DEACTIVATION
    
    function remove_editor() {
    
    // get the the role object
    $role_object = get_role( 'editor' );
    
    // add $cap capability to this role object
    $role_object->remove_cap( 'manage_options' );
    }
    
    register_deactivation_hook( __FILE__, 'remove_editor' );

    Thread-Starter j_spaceman

    (@nothinghalosix)

    super es funktioniert.

    wie komm ich eigentlich zu den Parametern wie zum Beispiel options-general.php umd weitere Menüpunkte auszublenden?

    Danke

    LG

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Im Codex unter remove_menu_page() nachschauen?!

    Nochmal als Hinweis: Die o.g. Lösung ist nicht ganz sauber, da zwar das Menü Einstellungen für Redakteure ausgeblendet wird, grundsätzlich aber Änderungen an den Einstellungen jetzt erlaubt sind (da sonst das Menü Tidio Chat nicht angezeigt würde). Man könnte das sicher feiner ausarbeiten … 

    Thread-Starter j_spaceman

    (@nothinghalosix)

    ok alles klar.
    danke nochmal für deine Hilfe.
    LG
    Wolfie

Ansicht von 13 Antworten – 1 bis 13 (von insgesamt 13)
  • Das Thema „Menü für Benutzer anpassen Plugin sichbar“ ist für neue Antworten geschlossen.