Comment désactiver la désactivation de plug-in à partir du panneau d'administration WordPress

Comment désactiver la désactivation de plug-in à partir du panneau d'administration WordPress / Tutoriels

L'un des meilleurs atouts de WordPress est la disponibilité de plug-ins qui facilite votre travail en tant qu'utilisateur et développeur. Souvent, lors de la création de sites pour des clients, nous, développeurs, utilisons des plugins qui sont absolument essentiels pour que le site dispose de certaines fonctionnalités. Récemment, nous avons rencontré un problème où l'un des sites de notre client était en panne. La barre latérale ne se chargeait pas complètement, il manquait des éléments sur la page de l'article qui les avait paniqués. L’essentiel de cette histoire est qu’un des nouveaux membres du personnel nouvellement créé avec WordPress a désactivé certains des plug-ins indispensables au bon fonctionnement du site. Nous sommes entrés et avons activé tous les plugins qui ont été désactivés, mais nous devions faire quelque chose pour que nous puissions éviter ce problème à l'avenir. Dans cet article, nous allons vous montrer comment désactiver la désactivation de plug-in à partir du panneau d'administration WordPress (uniquement pour des plug-ins spécifiques)..

Théoriquement, vous devriez pouvoir utiliser le plug-in Membres de Justin Tadlock et créer un nouveau rôle pour les utilisateurs. Cependant, le client que nous avions ne voulait pas emprunter cette voie. C'est une petite entreprise et ils ont engagé ce nouvel employé pour gérer leurs médias sociaux et leur blog. Nous ne pouvons donc pas restreindre l'accès. Ils voulaient lui donner la possibilité d'activer / désactiver les plugins à sa guise. Nous devions trouver un moyen de satisfaire notre client et nous devions également trouver un moyen d'empêcher que ce problème ne se reproduise à l'avenir. Heureusement pour Steve Taylor, nous avons trouvé un extrait de code qui vous permet de supprimer le lien «Désactiver» des plug-ins spécifiés. Il supprime également le lien Edit pour tous les plugins car nous ne voulions pas que notre client édite des plugins via l'éditeur..

Il vous suffit donc de coller les codes suivants dans le fichier functions.php de votre thème:

 add_filter ('plugin_action_links', 'disable_plugin_deactivation', 10, 4); function disable_plugin_deactivation ($ actions, $ plugin_file, $ plugin_data, $ context) // Supprime le lien de modification pour tout if (array_key_exists ('edit', $ actions)) unset ($ actions ['edit']); // Supprime le lien de désactivation pour les plugins cruciaux if (array_key_exists ('deactivate', $ actions)) && in_array ($ plugin_file, array ('facebook-open-graph-meta-in-wordpress / fbogmeta.php', wp-pagenavi / wp-pagenavi.php '))) unset ($ actions [' deactivate ']); retourne $ actions;  

Maintenant, vous devez changer le tableau de $ plugin_file où vous voyez la liste des plugins spécifiés. Le chemin du fichier est relatif à / wp-content / plugins /. Ainsi, dans l'exemple ci-dessus, 'facebook-open-graph-meta-in-wordpress / fbogmeta.php' est un fichier situé dans le dossier facebook-open-graph-meta-in-wordpress qui se trouve dans le dossier des plugins. Vous pouvez modifier la liste pour ajouter autant de plugins que vous le souhaitez.

Cette astuce est un raccourci et n'empêche pas la désactivation réelle. Nous ne faisons que masquer le lien Désactiver. Toute personne ayant quelques connaissances en WordPress peut générer une URL de désactivation et l'exécuter. Mais si votre client est assez astucieux pour le faire, il sait déjà ce qu'est FTP et peut simplement supprimer les plugins de cette façon..

Travaillez-vous sur un thème qui nécessite absolument un plugin spécifique pour fonctionner correctement? Alors n'oubliez pas de laisser tomber le code ci-dessus.