如何让我的新主题变成[YouTube id=“id of the Video here”Width=“600”Height=“350”]?

时间:2014-04-01 作者:Carlos Ferreira

我最近在我的网站上更改了主题,现在我的所有视频都以这种格式出现在帖子上:

[youtube id=“此处仅id”width=“600”height=“350”]

都不懂,里面的帖子都喜欢this one.

以下消息显示了视频的位置:

Please enter the url to a YouTube video.

我怎样才能做到这样,我就不需要进入我所有的帖子,里面有任何视频,并以WordPress将其嵌入的方式进行编辑?

1 个回复
最合适的回答,由SO网友:birgire 整理而成

例如,您可以:

将YouTube短代码从旧主题复制到新主题。

定位管线(最可能位于functions.php 文件):

add_shortcode( \'youtube\', \'some_function\' );
复制这一行和some_function() 到您的functions.php 在新主题或更好的主题中,创建一个新的插件文件,包括:

/*Plugin Name: YouTube embed shortcode from old theme */

add_shortcode( \'youtube\', \'some_function\' );

some_function( $args = array(), $content = \'\'){ /* ...code... */}
添加具有相同参数的YouTube嵌入插件。

创建自己的插件来处理此问题。

这是一个穷人的版本(未经测试):

/*Plugin Name: YouTube embed shortcode - poor man\'s version */

add_shortcode( \'youtube\', \'ytb_sc\' );

if( ! function_exists( \'ytb_sc\' ) ):

    function ytb_sc( $atts = array(), $content = \'\' )
    {
       $atts = shortcode_atts( array(
           \'id\'      => \'\',             // default id
           \'width\'   => 640,            // default width (px)
           \'height\'  => 480,            // default height (px)
       ), $atts, \'ytb_sc\' );

         // Sanitize input:
         $id      = esc_attr( $atts[\'id\'] );
         $width   = (int) $atts[\'width\'];
         $height  = (int) $atts[\'height\'];

        if( ! empty( $id ) ) {
            $sc = sprintf( \'[embed width="%d" height="%d"]%s%s[/embed]\',
                           $width,
                           $height,
                           \'https://www.youtube.com/watch?v=\',
                           $id );
        } else {
            return __( \'Missing YouTube ID!\' );
        }

        // Output
        return $GLOBALS[\'wp_embed\']->run_shortcode($sc);
    }

endif;
希望这有帮助!

结束

相关推荐

自定义元字段-YouTube嵌入

我创建了一个自定义元字段,我想用它将youtube视频嵌入到帖子中。但当我发布这样的代码时:<iframe width=\"640\" height=\"360\" src=\"//www.youtube.com/embed/5Krz-dyD-UQ?feature=player_detailpage\" frameborder=\"0\" allowfullscreen></iframe>它无法保存。如果我放置链接或任何其他纯文本,它会保存。有什么建议吗iframe 代码?代码:&