removendo estilos inline do wp-caption div

10

Os atributos de largura e altura inline nunca foram um grande problema com imagens no WordPress, uma vez que estas foram facilmente substituídas por CSS.

O problema que estou tendo é que quaisquer imagens com legendas estão sendo agrupadas em um ID 'attachment _ (' attachmentnumber ') e uma classe de' wp-caption 'E elas recebem propriedades de largura e altura CSS inline. Esta é uma grande dor na bunda, então eu gostaria de remover os estilos inline desta div se possível.

    
por andy 03.03.2013 / 23:41

2 respostas

4

Você pode substituir estilos inline por "! important" assim:

width: 100px !important;

Se você quer uma correção do PHP, dê uma olhada nisso: 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');
    
por Kim 04.03.2013 / 01:34
2

Para remover a largura inline em um modo PHP limpo poderia ser feito com um filtro, como descrito no código-fonte: enlace

Retornar um zero (ou falso) irá removê-lo:

add_filter( 'img_caption_shortcode_width', '__return_false' );
    
por Johan Hermansson 05.06.2018 / 14:12

Tags