Je travaille sur un site basé sur un modèle css de largeur fluide qui définit une largeur maximale sur les images en fonction de la largeur de la colonne qui les contient. Je dois également supprimer les attributs de dimension de largeur et de hauteur intégrés que WordPress ajoute aux images.
Je le fais avec mes images en vedette avec ce filtre:
add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10, 3 );
function remove_thumbnail_dimensions( $html, $post_id, $post_image_id ) {
$html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
return $html;
}
Je sais que je peux appliquer le même filtre à the_content , si nécessaire. Mais y a-t-il une meilleure façon de faire cela?
images
filters
post-thumbnails
pommes d'or
la source
la source
img_caption_shortcode
, qui traite le shortcode de légende, nécessite qu'une largeur soit spécifiée dans les attributs de shortcode de légende. Sinon, la légende est ignorée et renvoie simplement le contenu[caption]
encapsulé dans les balises shortcode.img_caption_shortcode
. Écrire le code pour une fonction comme celle-là est plus que ce que je peux insérer dans les commentaires ici, cependant.img_caption_shortcode
activé suffira à résoudre le problème.Réponses:
Merci a tous!
Le filtre image_send_to_editor était celui que je cherchais ... merci @ t31os de l'avoir signalé.
Voici mes fonctions maintenant.
Cela supprime les attributs de dimension en ligne des images extraites avec
the_post_thumbnail()
et empêche leur ajout aux nouvelles images ajoutées à l'éditeur. Ne les supprime pas des images récupérées via d'wp_get_attachment_image
autres fonctions associées (aucun crochet ne s'y trouve), mais ces cas peuvent être traités dans les fichiers de modèle si nécessaire.la source
image_send_to_editor
et l'ajouter àthe_content
- comme ce billet de blog . Cela sépare la logique de présentation du contenu.Modifié ce script un peu. Merci pour l'aide!
la source
si vous définissez la taille de l'image dans function.php en tant que "galerie"
vous pouvez supprimer la largeur et la hauteur d'une taille d'image spécifique telle que "galerie":
la source
Appliquer ce filtre pour
the_content
le déclencher pour tout le contenu. Cela sera efficace, mais pourrait affecter les performances et le temps de chargement de votre site. Il serait préférable que vous disiez à WordPress de ne pas insérer les balises inline width et height lorsque vous insérez des images.Malheureusement, les scripts qui insèrent réellement l'image sont construits en JavaScript et interagissent avec l'éditeur wyiwyg de TinyMCE. Il y aurait peut-être un moyen de le connecter directement, mais sans utiliser les
add_filter()
appels standard .la source
image_send_to_editor
ici?