IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WordPress PHP Discussion :

Désactiver un plugin pour un rôle


Sujet :

WordPress PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Webmarketer
    Inscrit en
    Décembre 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Webmarketer

    Informations forums :
    Inscription : Décembre 2020
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Désactiver un plugin pour un rôle
    Bonjour, je cherche à désactiver le plugin the-grid pour les utilisateurs ayant pour rôle "Éditeur".
    J'ai donc créer un fichier "disable-plugins.php" ===>" /wp-content/mu-plugins/disable-plugins.php "dans lequel j'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    /*
    Plugin Name: Disable Plugins
    */
    add_filter( 'option_active_plugins', 'disable_logged_in_plugin' );
    function disable_logged_in_plugin( $plugins ) {
        require (ABSPATH . WPINC . '/pluggable.php');
            if ( current_user_can('Éditeur') & !is_admin() ) {
               $plugins_not_needed = array ( 'the-grid/the-grid.php' );
                foreach ( $plugins_not_needed as $plugin ) {
                    $key = array_search( $plugin, $plugins );
                    if ( false !== $key ) {
                        unset( $plugins[ $key ] );
                    }
                }
            }
            return $plugins;
        }
    J'ai tenté en remplaçant "Éditeur" par "editor" etc...,
    Mais le plugin reste activé cf capture.
    Nom : Sans nom 1.png
Affichages : 168
Taille : 100,6 Ko
    Merci par avance

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    en essayant de modifier "active_plugins", cela va désactiver l'extension pour le rôle indiqué mais ça ne va pas le réactiver pour les autres.
    donc je pense qu'il vaut mieux que vous regardez quels actions et filtres sont mis en place par l'extension pour retirer uniquement cela à l'exécution.

  3. #3
    Candidat au Club
    Homme Profil pro
    Webmarketer
    Inscrit en
    Décembre 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Webmarketer

    Informations forums :
    Inscription : Décembre 2020
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par mathieu Voir le message
    en essayant de modifier "active_plugins", cela va désactiver l'extension pour le rôle indiqué mais ça ne va pas le réactiver pour les autres.
    donc je pense qu'il vaut mieux que vous regardez quels actions et filtres sont mis en place par l'extension pour retirer uniquement cela à l'exécution.
    En premier lieu merci beaucoup pour votre réponse.
    Mon niveau Php est proche du zero, ce code est un code que j'ai trouvé et que j'ai tenté d'adapter à mon plugin...en toutes hypothèses avec ce code rien ne se passe!
    Mais en fait la désactivation n'est peut être pas en effet la solution. Mon soucis est qu'une catégorie d'utilisateurs ne doit pas avoir accès lors de la rédaction d'articles à la fameuse icone qui permet d'insérer les shortcodes "the-grid", j'ai tenté plusieurs plugin comme AAM ou adminimize en version free mais cela ne fonctionne pas et d'ailleurs je préfère toujours essayer de régler les choses sans plugin, c'est beaucoup plus formateur.
    Comment puis-je trouver ces actions et filtres?

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    s'il s'agit d'interdire l'utilisation de certains shortcodes, cela se complique encore plus puisque les "éditeurs" pourrait très bien saisir le shortcode dans leur texte sans passer par cette icone.

    pour en savoir plus sur le fonctionnement des actions, filtres et shortcode, je vous conseille de lire la documentation officielle des extensions :
    https://developer.wordpress.org/plugins/

  5. #5
    Candidat au Club
    Homme Profil pro
    Webmarketer
    Inscrit en
    Décembre 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Webmarketer

    Informations forums :
    Inscription : Décembre 2020
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    Je ne cherche pas forcément à interdire l'utilisation des shortcodes, la seule chose que je souhaite en réalité, c'est que l'icone d'insertion n'apparaisse pas en mode "éditeur".
    Dans la réalité si je pouvais faire disparaître cette icone complètement même pour l'ensemble des rôles y compris "admin" tout serait bon!
    En front j'aurais fait un petit: #mceu_13-button{display:none} et le tour était joué.
    Je cherche peut être mal la solution????
    Par ailleurs pourriez vous me dire ce qui ne va pas dans le code précédent?
    Merci encore pour votre aide, je vais me plonger dans la lecture des infos de votre lien.

  6. #6
    Candidat au Club
    Homme Profil pro
    Webmarketer
    Inscrit en
    Décembre 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Webmarketer

    Informations forums :
    Inscription : Décembre 2020
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Le problème est réglé en ajoutant ce bout de code dans le fichier functions.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function myplugin_tinymce_buttons( $buttons ) {
      $remove = 'the_grid';
      if ( ( $key = array_search( $remove, $buttons ) ) !== false )
        unset( $buttons[$key] );
     
      return $buttons;
     }
    add_filter( 'mce_buttons', 'myplugin_tinymce_buttons', 999 );
    Au final, je n'ai pas filtré et j'ai supprimé le bouton pour tous les rôles y compris admin (je n'en ai pas besoin).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Sondage] Quels plugins pour Eclipse utilisez-vous ?
    Par xavlours dans le forum Eclipse
    Réponses: 75
    Dernier message: 13/07/2014, 15h58
  2. [eclipse 3.0.1]plugins pour dvlp web HTML / CSS / PHP
    Par partyboy dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 26/10/2004, 11h46
  3. [xml editeur ] quel plugin pour xml?
    Par champion dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 19/08/2004, 09h52
  4. Faire un plugin pour internet explorer
    Par snyff dans le forum Windows
    Réponses: 2
    Dernier message: 11/05/2004, 19h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo