it-swarm.com.de

entfernen von Inline-Stilen aus wp-caption div

Inline-Attribute für Breite und Höhe waren in WordPress nie ein großes Problem, da diese mit CSS leicht überschrieben werden konnten.

Das Problem, das ich habe, ist, dass alle Bilder mit Beschriftungen in eine ID 'attachment _ (' attachmentnumber ') und eine Klasse von' wp-caption 'eingeschlossen werden UND sie Inline-CSS-Eigenschaften für Breite und Höhe erhalten. Dies ist ein großer Schmerz im Hintern, daher möchte ich die Inline-Stile dieser Div entfernen, wenn dies überhaupt möglich ist.

12
andy

Das Entfernen der Inline-Breite auf eine saubere PHP-Art könnte mit einem Filter erfolgen, wie im Quellcode beschrieben: https://core.trac.wordpress.org/browser/trunk/src/wp-includes/media .php # L1587

Wenn Sie eine Null (oder falsch) zurückgeben, wird diese entfernt:

add_filter( 'img_caption_shortcode_width', '__return_false' );
6

Sie können Inline-Stile mit "! Important" wie folgt überschreiben:

width: 100px !important;

Wenn Sie eine PHP Korrektur wünschen, schauen Sie sich diese an: http://troychaplin.ca/2012/06/updated-function-fix-inline-style-that-added-image-caption- wordpress-3-4/

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>';
}

oder Javascript/JQuery:

$(".wp-caption").removeAttr('style');
4
Kim