内容的栏目 * @param int $category 0列表 1频道 2单页 3外链 * @return array */ function category_list($forumlist, $model = 0, $display = 0, $category = 0) { if (empty($forumlist)) return NULL; static $cache = array(); $key = $model . '-' . $display . '-' . $category; if (isset($cache[$key])) return $cache[$key]; if ($display) { foreach ($forumlist as $k => $val) { if (1 == $val['display'] && 1 == $val['type'] && $val['category'] == $category) { $cache[$key][$k] = $val; } } } else { foreach ($forumlist as $k => $val) { if (1 == $val['type'] && $val['category'] == $category) { $cache[$key][$k] = $val; } } } return empty($cache[$key]) ? NULL : $cache[$key]; } /** * @param $forumlist 所有版块列表 不分模型 * @param int $display 0全部CMS栏目 1在首页和频道显示内容的栏目 * @param int $category 0列表 1频道 2单页 3外链 * @return array */ function category_list_show($forumlist, $display = 0, $category = 0) { if (empty($forumlist)) return NULL; static $cache = array(); $key = $display . '-' . $category; if (isset($cache[$key])) return $cache[$key]; if ($display) { foreach ($forumlist as $k => $val) { if (1 == $val['display'] && 1 == $val['type'] && $val['category'] == $category) { $cache[$key][$k] = $val; } } } else { foreach ($forumlist as $k => $val) { if (1 == $val['type'] && $val['category'] == $category) { $cache[$key][$k] = $val; } } } return empty($cache[$key]) ? NULL : $cache[$key]; } /** * @param $forumlist 所有版块列表 * @return mixed BBS栏目数据(仅列表) 尚未开放bbs频道功能 */ function forum_list($forumlist) { if (empty($forumlist)) return array(); static $cache = array(); if (isset($cache['bbs_forum_list'])) return $cache['bbs_forum_list']; $cache['bbs_forum_list'] = array(); foreach ($forumlist as $_fid => $_forum) { if ($_forum['type']) continue; $cache['bbs_forum_list'][$_fid] = $_forum; } return $cache['bbs_forum_list']; } // 导航显示的版块 function nav_list($forumlist) { if (empty($forumlist)) return NULL; static $cache = array(); if (isset($cache['nav_list'])) return $cache['nav_list']; foreach ($forumlist as $fid => $forum) { if (0 == $forum['nav_display']) { unset($forumlist[$fid]); } } return $cache['nav_list'] = $forumlist; } ?>Change the default video shortcode
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Change the default video shortcode

programmeradmin0浏览0评论

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 0
Add a comment  | 

1 Answer 1

Reset to default 1

Here'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.

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论