Afbeelding ondertiteling filteren in WordPress

Als je in WordPress een afbeelding toevoegt, kan je hier ook een ondertitel aan meegeven. Dit wordt dan meteen netjes weergegeven. Maar in de code die gegenereerd wordt staat ook een breedte die met “style=width=…” wordt meegegeven. Om deze extra, in mijn ogen ongewenste code, er uit te filteren, gaan we een filter aanmaken die we in de functions.php gaan zetten.

De code die voor een ondertitel gegenereerd wordt zit verborgen in een functie in media.php en wel op regel 722. Deze functie moeten we dus gaan overschrijven met onze eigen functie in functions.php en de shortcode voor wp_caption en caption overschrijven met deze nieuwe functie.

add_shortcode('wp_caption', 'fixed_img_caption_shortcode');
add_shortcode('caption', 'fixed_img_caption_shortcode');
function fixed_img_caption_shortcode($attr, $content = null) {
    // Allow plugins/themes to override the default caption template.
    $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>' . do_shortcode( $content ) . '
<div class="wp-caption-text">' . $caption . '</div>
</div>
';
}

Nu krijg je geen extra CSS code bij de uitvoer. Op deze manier kan je zelf de regie nemen met de bijbehorende CSS, zoals het hoort.

nostromo is gebouwd op het Genesis Framework

Genesis Framework

Genesis geeft je de mogelijkheid om snel en makkelijk websites te realiseren met WordPress. Of je nu een beginner bent of een code-guru, Genesis geeft je een veilige en zoekmachine geoptimaliseerde basis welke WordPress verder brengt dan ooit bedacht. Het is zo simpel - Begin ook met Genesis!

Pak je voordeel met zes standaard lay-out opties, SEO instellingen, rotsvaste veiligheid, flexibele thema opties, handige widgets, een bak vol met hooks en een groot scala aan child-thema's om jouw site te maken zoals jij dat wilt. Met ondersteuning voor automatische thema updates is Genesis de slimme keuze voor jouw website of blog.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

De volgende HTML-tags en -attributen zijn toegestaan: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>