web-dev-qa-db-fra.com

Comment envelopper un élément autour d'un iframe ou l'intégrer automatiquement au contenu?

J'aimerai que WordPress encapsule automatiquement une div autour de iframe ou embed quand ils sont utilisés dans the_content... comment cela peut-il être réalisé?

6
Mr.Brown

essayez jQuery

$('iframe').wrap('<div class="wrapper" />');
1
alexndm

Voici la solution que j'ai utilisée:

function wrap_embed_with_div($html, $url, $attr) {

     return '<div class="video-container">' . $html . '</div>';

}

 add_filter('embed_oembed_html', 'wrap_embed_with_div', 10, 3);
16
user23385

Avec les filtres Wordpress. Ajoutez ceci à votre functions.php:

function div_wrapper($content) {
    // match any iframes
    $pattern = '~<iframe.*</iframe>|<embed.*</embed>~';
    preg_match_all($pattern, $content, $matches);

    foreach ($matches[0] as $match) {
        // wrap matched iframe with div
        $wrappedframe = '<div>' . $match . '</div>';

        //replace original iframe with new in content
        $content = str_replace($match, $wrappedframe, $content);
    }

    return $content;    
}
add_filter('the_content', 'div_wrapper');
7
pbd