When I select a video file from media library and click on insert in to post button that time it goes like this :
[video width="1280" height="720" mp4=" - Copy - Copy.mp4"][/video]
But my requirement is like below:
[rtmp_video width="1280" height="720" mp4=" - Copy - Copy.mp4"][/rtmp_video]
Only for amazon s3 videos I wanted that shortcode
So what should I do for this. I dont know how is this possible
This is what i write in function.php
//Shortcode for rtmp distribution video security
function rtmp_video($atts, $content = null) {
extract(shortcode_atts(array(
"src" => ''
), $atts));
if(is_user_logged_in()){
$signed_url = getSignedURL($src,60);
pw_global_js_vars($signed_url);
}
}
add_shortcode('rtmp_video', 'rtmp_video');
But i don't know how to apply this
When I select a video file from media library and click on insert in to post button that time it goes like this :
[video width="1280" height="720" mp4="https://s3-us-west-2.amazonaws/bucketname/C-1-Hello-World1 - Copy - Copy.mp4"][/video]
But my requirement is like below:
[rtmp_video width="1280" height="720" mp4="https://s3-us-west-2.amazonaws/bucketname/166/C-1-Hello-World1 - Copy - Copy.mp4"][/rtmp_video]
Only for amazon s3 videos I wanted that shortcode
So what should I do for this. I dont know how is this possible
This is what i write in function.php
//Shortcode for rtmp distribution video security
function rtmp_video($atts, $content = null) {
extract(shortcode_atts(array(
"src" => ''
), $atts));
if(is_user_logged_in()){
$signed_url = getSignedURL($src,60);
pw_global_js_vars($signed_url);
}
}
add_shortcode('rtmp_video', 'rtmp_video');
But i don't know how to apply this
Share Improve this question edited Feb 22, 2016 at 9:11 Shridhar Reddy asked Feb 22, 2016 at 7:03 Shridhar ReddyShridhar Reddy 531 silver badge5 bronze badges 01 Answer
Reset to default 1Here's an untested way to override the output of the [video]
shortcode, with the output of your custom rtmp_video()
function, when the mp4 video is hosted on amazonaws:
/**
* Override the video shortcode output for mp4 hosted on 'amazonaws'
* with the rtmp_video output.
*
* @uses rtmp_video()
*/
add_filter( 'wp_video_shortcode_override', function( $output, $attr, $content, $instance )
{
if(
isset( $attr['mp4'] )
&& 'amazonaws' === parse_url( $attr['mp4'], PHP_URL_HOST )
&& function_exists( 'rtmp_video' )
)
$output = rtmp_video( $attr, $content );
return $output;
}, 10, 4 );
Note that the extract()
isn't recommended here in general and it's not clear if your custom rtmp_video()
callback supports the mp4
attribute, like you've shown in the shortcode example. A workaround for that could be $attr['src'] = $attr['mp4'];
You mentioned that you placed your shortcode in the function.php
, file. I guess you mean the functions.php
file in the current theme directory? You should really consider adding it in a custom plugin, because next time you switch themes, your content will not support that shortcode anymore.