web-dev-qa-db-ja.com

Iframeの周囲に要素をラップしたり、コンテンツに自動的に埋め込む方法は?

the_content..で使われている場合、wordpressは自動的にdivを自動的にiframeまたはembedの周りにラップします。

6
Mr.Brown

jQueryを試してください

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

これが私が使った解決策です:

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

Wordpressのフィルターを使って。これをあなたの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