Sous WordPress, il existe un plugin qui optimise vos images à la volée lorsque vous les uploadez via l’interface d’écriture : WP-Smushit.
Or avec ce plugin, il faut impérativement que votre dossier /uploads/
se trouve sous /wp-content/
, ce qui n’est pas le cas chez moi et rend le plugin inutilisable.
Le problème : le dossier n’est pas sous /wp-content/
Voici l’erreur que l’on peut rencontrer lorsque l’on va dans Media > Library sous WordPress :
/home/skyminds/path/to/inbetweeners-s3.jpg must be within the content directory (/home/skyminds/public_html/wp-content)
Solution : définir le bon chemin dans wp-smushit.php
Le problème du plugin, c’est qu’il assume que tout le monde utilise les réglages de WordPress par défaut (avec les fichiers uploadés sous /wp-content/uploads/), ce qui est loin d’être le cas. Nous allons donc modifier le plugin pour qu’il prenne en compte le chemin du répertoire upload défini dans les options (Settings > Media):
- éditez le fichier
wp-smushit.php
- trouvez la ligne qui commence par
// check that the file is within the WP_CONTENT_DIR
Cela se trouve autour de la ligne 127 du fichier.
- Remplacez les lignes 127 à 135 par :
// check that the file is within the WP_CONTENT_DIR $upload_dir = wp_upload_dir(); $wp_upload_dir = $upload_dir['basedir']; $wp_upload_url = $upload_dir['baseurl']; if ( 0 !== stripos(realpath($file_path), realpath($wp_upload_dir)) ) { $msg = sprintf(__("%s must be within the content directory (%s)", WP_SMUSHIT_DOMAIN), htmlentities($file_path), $wp_upload_dir); return array($file, $msg); } // determine the public URL $file_url = str_replace( $wp_upload_dir, $wp_upload_url, $file );
- Sauvegardez le fichier.
Voilà! WP-Smushit devrait maintenant être capable d’accéder à vos images et de les optimiser d’un clic.
Si vous avez trouvé une faute d’orthographe, veuillez nous en informer en sélectionnant le texte en question et en appuyant sur Ctrl + Entrée.
Vous souhaitez réaliser un nouveau projet WordPress ou WooCommerce, ou ajouter de nouvelles fonctionnalités? Ou améliorer les performances de votre site?