eliminando estilos en línea de wp-caption div

10

Los atributos de ancho y alto en línea nunca fueron un gran problema con las imágenes en WordPress, ya que se sobrescribieron fácilmente con CSS.

El problema que tengo es que todas las imágenes con títulos se envuelven en un ID 'archivo adjunto _ (' número de archivo adjunto ') y una clase de' wp-título 'Y se les asignan propiedades de ancho y alto de CSS en línea. Este es un gran dolor en el trasero, por lo que me gustaría eliminar los estilos en línea de esta división si es posible.

    
pregunta andy 03.03.2013 - 23:41

2 respuestas

4

Puede anular los estilos en línea con "! important" como esto:

width: 100px !important;

Si quieres una corrección de PHP mira esto: 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>';
}

o javascript / JQuery:

$(".wp-caption").removeAttr('style');
    
respondido por el Kim 04.03.2013 - 01:34
2

Para eliminar el ancho en línea de una manera limpia de PHP se podría hacer con un filtro, como se describe en el código fuente: enlace

Devolver un cero (o falso) lo eliminará:

add_filter( 'img_caption_shortcode_width', '__return_false' );
    
respondido por el Johan Hermansson 05.06.2018 - 14:12

Lea otras preguntas en las etiquetas