Home / Wordpress / 2 astuces pratiques pour WordPress.

2 astuces pratiques pour WordPress.

Voici deux astuces pratiques pour ceux qui utilisent WordPress. De temps en temps j’aime bien fouiner sur le net à la découverte d’astuce pour WordPress soit pour optimiser mon installation ou encore pour améliorer la sécurité de mon blog.

astuce_inedites_wordpress_1

Nous allons commencer par l’optimisation d’un plugin que beaucoup de monde utilise à savoir Contact Form 7. Pour ceux qui ne connaissent pas, cette extension permet de créer des formulaires complets très rapidement. Je l’utilise depuis longtemps sans problème sur ma page de contact.

astuce_inedites_wordpress_2

Le souci c’est que les fichiers JavaScripts et CSS de l’extension sont chargés tout le temps même si aucun formulaire n’est présent sur la page. Cela consomme donc des ressources pour rien.

Mais grâce à quelques programmeurs chevronnés, voici deux fonctions à rajouter dans le fichier functions.php de votre thème pour éviter cela.

//Charger contact-form-7 uniquement sur votre page de contact
add_action( 'wp_print_scripts', 'deregister_cf7_javascript', 100 );
function deregister_cf7_javascript() {
if ( !is_page(PAGE_ID_PUT_HERE) ) {
wp_deregister_script( 'contact-form-7' );
}
}
add_action( 'wp_print_styles', 'deregister_cf7_styles', 100 );
function deregister_cf7_styles() {
if ( !is_page(PAGE_ID_PUT_HERE) ) {
wp_deregister_style( 'contact-form-7' );
}
}

astuce_inedites_wordpress_3

Il suffit juste d’indiquer l’ID de la page contact de votre blog. Pour trouver l’id d’une page, aller dans la partie administration de votre blog puis cliquer sur Pages.

astuce_inedites_wordpress_4

astuce_inedites_wordpress_5

Passer au dessus du lien de la page en question et dans la barre d’état de votre navigateur vous verrez l’ID de votre page (en jaune sur l’écran ci-dessus).

Les fichiers JavaScript et CSS ne seront chargés uniquement si l’ID de la page est 15.

 astuce_inedites_wordpress_6

Maintenant notre deuxième astuce consiste à protéger les plugins d’une installation WordPress. En effet si vous développez des sites pour des clients, vous voulez peut-être protéger certains plugins contre la désactivation ou encore la désinstallation. Voyons comment faire.

On va supprimer les liens « Editer » et « Supprimer », puis on ajoutera un message d’erreur si la personne tente de désactiver le plugin par un autre moyen.

Pour rajouter cette fonctionnalité, vous devez copier ces lignes de codes dans le fichier function.php de votre thème.

global $plugins_to_preserve;
//plugins pour lesquels les liens seront supprimés
$plugins_to_preserve = array('FOLDER_DU_PLUGIN/FILE_PHP_DU_PLUGIN.php');

add_filter( 'plugin_action_links', 'disable_plugin_link_delete', 10, 4);
function disable_plugin_link_delete( $actions, $plugin_file ) {

global $plugins_to_preserve;

// Enleve le lien 'Modifier' des plugins "préservés"
if ( array_key_exists( 'edit', $actions ) && in_array( $plugin_file, $plugins_to_preserve ))
unset( $actions['edit'] );

// Enleve le lien 'Supprimer' des plugins "préservés'
if ( array_key_exists( 'deactivate', $actions ) && in_array( $plugin_file, $plugins_to_preserve ) )
unset( $actions['deactivate'] );

return $actions;
}

add_action( 'deactivate_plugin' , 'disable_deactivate_plugin');
function disable_deactivate_plugin( $plugin_file ) {

global $plugins_to_preserve;

if( in_array( $plugin_file, $plugins_to_preserve ) )
wp_die( 'Désole, mais ce plugin ne peut pas être désactivé.' );
}

Source : Geekpress.fr

astuce_inedites_wordpress_7

Pour que ce plugin fonctionne vous devez indiquer le chemin du plugin, on entend par chemin uniquement le répertoire et le fichier php du plugin (1)

Vous pouvez aussi personnaliser le message d’erreur qui s’affichera à vos utilisateurs imprudents. (2)

Voyons maintenant ce que cela donne avec le plugin spam-free WordPress pris dans l’exemple. Dans votre interface d’administration de WordPress aller, Extensions -> Extensions Installées.

astuce_inedites_wordpress_8

Comme vous pouvez le voir pour le plugin Spam Free WordPress, les liens Désactiver et Delete ont disparus.

Maintenant si on essaie de le désactiver via la liste déroulante dans la gestion des extensions nous avons cette erreur.

astuce_inedites_wordpress_9

astuce_inedites_wordpress_10

Voici une astuce vraiment utile si vous devez gérer plusieurs installations clientes.

Pour aller plus loin !!!!
Si vous voulez bloquer plusieurs plugins, vu que la variable $plugins_to_preserve est un tableau, il suffit de séparer les plugins par une virgule. Prenons un exemple en rajoutant la protection au module Akismet.

astuce_inedites_wordpress_11

Voyons maintenant le résultat dans l’administration de WordPress :

astuce_inedites_wordpress_12

Autre astuce si vous ne savez quel fichier .php mettre dans la variable tableau pour le protéger il suffit de passer votre souris sur le lien Edit (1) du plugin et de repérer dans la barre des tâches de votre navigateur le nom du plugin (2).

astuce_inedites_wordpress_13

Voilà j’espère que cela pourras vous aidez dans l’administration de vos blogs. N’hésitez pas à laisser un petit commentaire si telle est le cas.

That’s All.

  

2 Potins

  1. une solution idéale pour un problème très répandus. Merci pour le partage

  2. Salut,
    merci pour l’astuce du plugin Contact Form 7, j’ai viré ce plugin justement à cause des appels CSS sur toutes les pages après analyses avec Gtmetrix…
    Du coup, pourquoi pas le réinstaller :-)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

ipsum libero. elementum ipsum dolor. ut porta.