wp-caption div से इनलाइन शैलियों को हटाना


13

इनलाइन चौड़ाई और ऊंचाई की विशेषताएं वर्डप्रेस में छवियों के साथ एक बड़ी समस्या कभी नहीं थीं, क्योंकि ये सीएसएस के साथ आसानी से ओवरराइट हो गए थे।

मुझे जो समस्या हो रही है वह यह है कि कैप्शन वाली कोई भी छवि ID 'अटैचमेंट _ (' अनुलग्नक ') और' wp-caption 'के एक वर्ग में लपेटी जा रही है और उन्हें इनलाइन CSS चौड़ाई और ऊंचाई के गुण दिए गए हैं। यह बट में एक प्रमुख दर्द है, इसलिए यदि संभव हो तो मैं इस div की इनलाइन शैलियों को निकालना चाहूंगा।


1
मैंने इसे अच्छी तरह से हल करने के लिए देखा और पाया कि जूट कीन्स का कार्यान्वयन बेहतर होगा। joostkiens.com/improving-wp-caption-shortcode से कार्यान्वयन के बारे में जानकारी । गीथब
swirv

जवाबों:


7

एक साफ PHP-inline में इनलाइन चौड़ाई को हटाने के लिए एक फिल्टर के साथ किया जा सकता है, जैसा कि स्रोत कोड में वर्णित है: https://core.trac.wordpress.org/browser/trunk/src/wp-includes/media.php # L1587

शून्य (या असत्य) वापस करने से इसे हटा दिया जाएगा:

add_filter( 'img_caption_shortcode_width', '__return_false' );

4

आप इस तरह से "महत्वपूर्ण" के साथ इनलाइन शैलियों को ओवरराइड कर सकते हैं:

width: 100px !important;

यदि आप चाहते हैं कि एक PHP फिक्स इस पर एक नज़र डालें: 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>';
}

या जावास्क्रिप्ट / JQuery:

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

महत्वपूर्ण हमेशा समर्थित किया गया है, उस भाग को संपादित किया जा सकता है। यदि आप PHP समाधान भी ले सकते हैं और इसे अपने उत्तर में रख सकते हैं? फिलहाल troychaplin.ca इस जवाब नीचे चला जाता है, तो बेकार हो जाता है
टॉम जम्मू नॉवेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.