J’ai beaucoup utilisé la nouvelle fonction de vignettes de publication WordPress ces derniers temps dans le développement de thèmes. Je me suis détourné de la méthode plus lente, moins efficace et optimisée pour le référencement utilisant le script TimThumb pour redimensionner des images sur des sites alimentés par WordPress.
Et bien que ce soit une excellente fonction à intégrer dans WordPress, elle a ses «défauts», comme le fait qu’il n’y a pas de paramètre pour définir l’emplacement / la position de recadrage de l’image lorsqu’elle est redimensionnée.
Emplacement de recadrage
En travaillant sur mon site l’autre jour, j’ai remarqué que lorsque les miniatures du thème WordPress étaient coupées, toute la moitié supérieure était coupée, ne donnant pas vraiment aux gens une bonne idée de ce à quoi le thème ressemblerait réellement.
Ci-dessous se trouve juste une image amusante que j’ai trouvée vous montrant une autre raison pour laquelle vous voudrez peut-être choisir différents emplacements de recadrage pour vos images plutôt que d’utiliser toujours le recadrage «central» par défaut.
Modifier le recadrage central par défaut des miniatures
Malheureusement, pour changer l’emplacement de recadrage des vignettes, vous devrez vous salir un peu la main avec les fichiers Core WordPress. Suivez simplement les étapes ci-dessous pour changer l’emplacement de recadrage de vos vignettes (cela ne le changera pas pour TOUTES les vignettes définies dans vos paramètres functions.php et médias).
- Étape 1: Accédez à votre dossier wp-includes
- Étape 2: Recherchez et ouvrez le fichier media.php
- Étape 3: Localisez le code suivant (autour de la ligne 3.61 dans WordPress 3.1.1)
$s_x = floor( ($orig_w - $crop_w) / 2 );
$s_y = floor( ($orig_h - $crop_h) / 2 );
- Étape 4: Modifiez le code en fonction de vos besoins (voir l’explication ci-dessous)
Modification des valeurs de recadrage
Ces deux lignes que vous avez trouvées sont chargées de recadrer vos vignettes. La valeur par défaut est de prendre la largeur et la hauteur d’origine et de les rogner de manière égale vers le centre. Cependant, vous pouvez facilement le modifier pour recadrer en haut, à gauche, en haut à gauche… etc.
Recadrer par le haut
Pour recadrer à partir du haut, vous devez simplement rendre la valeur y égale à 0, alors changez la deuxième ligne de code pour qu’elle ressemble à ceci:
$s_y = 0; // floor( ($orig_h - $crop_h) / 2 );
Recadrer à partir du centre gauche
Pour recadrer à partir de la gauche, vous devez rendre la valeur x égale à 0, alors changez la première ligne de code pour qu’elle ressemble à ceci:
$s_x = 0; // floor( ($orig_w - $crop_w) / 2 );
Recadrer en haut à gauche
Combinez les deux derniers échantillons pour recadrer une image en haut à gauche.
$s_y = 0; // floor( ($orig_h - $crop_h) / 2 );
$s_x = 0; // floor( ($orig_w - $crop_w) / 2 );
Re-générer des vignettes WordPress
N’oubliez pas que si vous modifiez l’emplacement de recadrage de vos vignettes, vous devrez toutes les recadrer. Vous pouvez le faire facilement avec l’un des deux plugins suivants: Reconstruction des miniatures AJAX ou Régénérer les miniatures.