J'utilise Wordpress 3.0.1 (le plus récent à ce jour) et travaille autour du thème du tableau blanc.
Il semble que pour les pièces jointes (images, en particulier), Wordpress génère automatiquement le code HTML et ressemble à ceci:
<div id="attachment_12" class="wp-caption alignleft" style="width: 310px">
<a rel="shadowbox" href="http://new.michaellane.com/blog/wp-content/uploads/2010/11/areamapchange.png">
<img class="size-medium wp-image-12 " title="Area Map Improvments" src="http://new.michaellane.com/blog/wp-content/uploads/2010/11/areamapchange-300x179.png" alt="Area Map Improvments" width="300" height="179" />
</a>
<p class="wp-caption-text">Area Map Improvments</p>
</div>
Je comprends que certains de ces attributs peuvent être modifiés dans l'écran d'édition lui-même. Toutefois, je souhaite modifier la structure de code HTML par défaut afin d'insérer des balises supplémentaires, des classes CSS, etc.
J'ai besoin d'une méthode pour y parvenir sans modifier aucun fichier en dehors du dossier wp-content - en d'autres termes, il doit exister une méthode basée sur des modèles pour le faire .. des idées?
Je souhaite modifier la structure de code HTML par défaut afin d'insérer des balises supplémentaires
Exécutez un filtre sur img_caption_shortcode
, vous pouvez trouver ce raccordement dans la source ici. http://core.trac.wordpress.org/browser/tags/3.0.1/wp-includes/media.php#L720
add_filter( 'img_caption_shortcode', 'my_caption_html', 10, 3 );
function my_caption_html( $current_html, $attr, $content ) {
extract(shortcode_atts(array(
'id' => '',
'align' => 'alignnone',
'width' => '',
'caption' => ''
), $attr));
if ( 1 > (int) $width || empty($caption) )
return $content;
if ( $id ) $id = 'id="' . esc_attr($id) . '" ';
return '<div ' . $id . 'class="wp-caption ' . esc_attr($align) . '" style="width: ' . (10 + (int) $width) . 'px">'
. do_shortcode( $content ) . '<p class="wp-caption-text">' . $caption . '</p></div>';
}
J'ai essentiellement emprunté la plupart du code de la fonction d'origine pour l'utiliser dans le filtre, mais cela devrait vous donner quelque chose à construire au-dessus de ...
J'espère que cela pourra aider.. :)
Voir aussi Comment puis-je ajouter un champ URL à la fenêtre des pièces jointes? où j’ai posté un petit plugin de démonstration.