Benutzerdefinierter Youtube-Shortcode, der $ content verwendet

Ich möchte einen einfachen Shortcode erstellen, der den Youtube-Link in einer bestimmten Größe zurückgibt und den Inhalt verwendet. Etwas wie:

[yt]http://youtu.be/Nl29v5pfxTw[/yt] 

Ich habe diesen Code, aber ich möchte es vereinfachen:

  function youtube($atts) { extract(shortcode_atts(array( "value" => 'http://', "width" => '620', "height" => '350', "name"=> 'movie', "allowFullScreen" => 'true', "allowScriptAccess"=>'always', ), $atts)); return ''; } add_shortcode("yt", "youtube"); 

Das Problem ist, dass ich mit diesem Code [yt value = “http://youtu.be/Nl29v5pfxTw”] benutzen muss und ich möchte einfach den [yt] $ content [/ yt] benutzen

Wie kann ich das erreichen?

Vielen Dank

Solutions Collecting From Web of "Benutzerdefinierter Youtube-Shortcode, der $ content verwendet"

Shortcode-functionen akzeptieren einen zweiten Parameter, der den Wert zwischen den Tags shortcode opening und closing enthält:

 function youtube( $atts, $value = 'http://' ) { extract( shortcode_atts( array( "width" => '620', "height" => '350', "name"=> 'movie', "allowFullScreen" => 'true', "allowScriptAccess"=>'always', ), $atts ) ); return ''; } add_shortcode( 'yt', 'youtube' ); 

Ihre Callback-function muss einen zweiten Parameter akzeptieren.

 function youtube($atts, $content) { extract(shortcode_atts(array( "value" => 'http://', "width" => '620', "height" => '350', "name"=> 'movie', "allowFullScreen" => 'true', "allowScriptAccess"=>'always', ), $atts)); return ''; } 

Ich glaube, das ist richtig. Es gibt Beispiele im Codex, wie man das macht.