Comment créer une extension automatique (Must-Use) personnalisée
La difference entre une extension normale et une extension automatique dans WordPress est la suivante : les extensions automatiques, comme leur nom l’indique, sont activées automatiquement une fois téléchargées dans un dossier WordPress spécifique.
Créer une extension automatique personnalisé
- 1
-
Créez un répertoire nommé mu-plugins dans votre dossier wp-content.
Au cas où un dossier mu-plugins existerait déjà, n’en créez pas de nouveau, utilisez simplement celui existant. - 2
- En utilisant un éditeur de texte basique, créez un nouveau fichier et copiez du code dedans. Pour commencer, vous pouvez télécharger cette base simple.
- 3
-
Sauvegardez le fichier avec le nom que vous souhaitez en utilisant des caractères latins, des letters et tirets.
Exemple de nom de fichier : wp-rocket-custom.php. - 4
- Téléchargez ce fichier dans le dossier mu-plugins créé à l’étape 1.
- 5
- Enfin, désactivez et réactivez WP Rocket.
Note: Vous pouvez faire une extension normale à la place d’une extension automatique, en téléchargeant ce même fichier dans le dossiez wp-content/plugins plutôt que mu-plugins. Souvenez-vous que vous devrez activer cette extension sur la page extensions de votre admin WordPress.
Quelques elements à prendre en considération
- Testez toujours votre extension avant de le télécharger sur votre site public !
Souvenez-vous qu’un point-virgule manquant dans le PHP peut casser votre site. Si quoique ce soit se casse, retirez le fichier plugin. - Assurez-vous que votre éditeur de texte est bien réglé sur texte simple quand vous éditez du code !
Le texte enrichi pourrait compromettre le code et engendrer des erreurs PHP, ou même un site cassé. - Les extensions automatiques sont chargées automatiquement et dans l’ordre alphabétique de leurs noms de fichiers.
- Si pour une raison ou une autre vous utilisez une fonction existante de WP Rocket, mettez la toujours dans une condition comme ceci :
if ( function_exists( 'some_wp_rocket_function' ) ) { // do something with some_wp_rocket_function() here }
- Encore une fois, assurez-vous de bien désactiver et réactiver WP Rocket une fois que vous avez téléchargé votre extension personnalisée.
Exemple de plugin automatique
Important ! Ne faites pas un copier-coller du code suivant depuis cette page, mais téléchargez le gist.
Faire un copier-coller depuis ce document pourrait entraîner des erreurs PHP plus tard car certains caractères peuvent être encodés.
<?php
/**
* Plugin Name: Your Custom Functionality Plugin
* Description: Short description of your plugin here.
* Author: your name here
* License: GNU General Public License v3 or later
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
*/
// Basic security, prevents file from being loaded directly.
defined( 'ABSPATH' ) or die( 'Cheatin’ uh?' );
/* Prefix your custom functions!
*
* Function names must be unique in PHP.
* In order to make sure the name of your function does not
* exist anywhere else in WordPress, or in other plugins,
* give your function a unique custom prefix.
* Example prefix: wpr20151231
* Example function name: wpr20151231__do_something
*
* For the rest of your function name after the prefix,
* make sure it is as brief and descriptive as possible.
* When in doubt, do not fear a longer function name if it
* is going to remind you at once of what the function does.
* Imagine you’ll be reading your own code in some years, so
* treat your future self with descriptive naming. ;)
*/
/**
* Pass your custom function to the wp_rocket_loaded action hook.
*
* Note: wp_rocket_loaded itself is hooked into WordPress’ own
* plugins_loaded hook.
* Depending what kind of functionality your custom plugin
* should implement, you can/should hook your function(s) into
* different action hooks, such as for example
* init, after_setup_theme, or template_redirect.
*
* Learn more about WordPress actions and filters here:
* https://developer.wordpress.org/plugins/hooks/
*
* @param string 'wp_rocket_loaded' Hook name to hook function into
* @param string 'yourprefix__do_something' Function name to be hooked
*/
add_action( 'wp_rocket_loaded', 'yourprefix__do_something' );
/**
* Define your custom function here.
* This example just returns true.
*
* @return bool Boolean value TRUE
*/
function yourprefix__do_something() {
return true;
}<br>