suppression des styles en ligne de wp-caption div

10

Les attributs de largeur et de hauteur intégrés n'ont jamais été un gros problème avec les images dans WordPress, car ils étaient facilement écrasés avec CSS.

Le problème que je rencontre est que toutes les images avec des légendes sont encapsulées dans un ID 'attachment _ (' attachmentnumber ") et une classe de 'wp-caption' ET on leur attribue des propriétés de largeur et de hauteur in-CSS CSS. C’est un problème majeur, je voudrais donc supprimer si possible les styles en ligne de cette div.

    
posée andy 03.03.2013 - 23:41

2 réponses

4

Vous pouvez remplacer les styles en ligne par "! important" comme ceci:

width: 100px !important;

Si vous voulez un correctif PHP, regardez ceci: enlace

add_shortcode('wp_caption', 'fixed_img_caption_shortcode');
add_shortcode('caption', 'fixed_img_caption_shortcode');
function fixed_img_caption_shortcode($attr, $content = null) {
    if ( ! isset( $attr['caption'] ) ) {
        if ( preg_match( '#((?:<a [^>]+>\s*)?<img [^>]+>(?:\s*</a>)?)(.*)#is', $content, $matches ) ) {
        $content = $matches[1];
        $attr['caption'] = trim( $matches[2] );
        }
    }

    $output = apply_filters('img_caption_shortcode', '', $attr, $content);
    if ( $output != '' )
    return $output;

    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: ' . $width . 'px">' . do_shortcode( $content ) . '<p>' . $caption . '</p></div>';
}

ou javascript / JQuery:

$(".wp-caption").removeAttr('style');
    
réponse donnée Kim 04.03.2013 - 01:34
2

Pour supprimer la largeur en ligne de façon propre, PHP pourrait être utilisé avec un filtre, comme décrit dans le code source: enlace

Le renvoi d'un zéro (ou faux) le supprimera:

add_filter( 'img_caption_shortcode_width', '__return_false' );
    
réponse donnée Johan Hermansson 05.06.2018 - 14:12

Lire d'autres questions sur les étiquettes