搜索
Hi~登录注册
查看: 1249|回复: 0

WordPress 视频播放插件 Smartideo | WordPress教程

[复制链接]

1892

主题

1899

帖子

6406

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6406
发表于 2015-4-13 14:01:36 | 显示全部楼层 |阅读模式
Smartideo 是为 WordPress 添加对在线视频支持的一款插件(支持手机、平板等设备HTML5播放)。 目前支持优酷、搜狐视频、土豆、56、腾讯视频、新浪视频、酷6、华数、乐视 等网站。你可以直接粘贴视频播放页完整的URL到编辑器(单独一行),就可以加载视频播放器。插件安装你可以在后台插件管理页面中直接搜索 Smartideo 并安装.或者上传文件夹 smartideo 至 /wp-content/plugins/ 目录.在插件管理页面中激活 Smartideo.使用方法你可以直接粘贴视频播放也完整的URL到编辑器(单独一行),就可以加载视频播放器。URL样例http://v.youku.com/v_show/id_XMTYzNTgxNTMy.htmlhttp://www.tudou.com/programs/view/YBdHhxJqrLY/http://www.56.com/u35/v_MTEwMjM5NDcy.htmlhttp://v.qq.com/page/o/9/f/o0142tt1m9f.htmlhttp://v.qq.com/cover/t/tyeqdw6rof7t5ow/p0015kjlai9.htmlhttp://my.tv.sohu.com/us/94469256/77228432.shtmlhttp://www.wasu.cn/Play/show/id/5079941http://v.yinyuetai.com/video/2207109http://v.ku6.com/show/P0Ib_pTne6-FBSa1AbtKUQ...htmlhttp://www.letv.com/ptv/vplay/20932037.html效果展示http://www.rifuyiri.net插件下载本地下载:smartideo-for-wordpress.zipWordPress插件中心:https://wordpress.org/plugins/smartideo/GitHub:https://github.com/nothingisover/smartideo插件代码预览<?php/*Plugin Name: SmartideoPlugin URI: http://www.fengziliu.com/Description: Smartideo 是为 WordPress 添加对在线视频支持的一款插件(支持手机、平板等设备HTML5播放)。 目前支持优酷、搜狐视频、土豆、56、腾讯视频、新浪视频、酷6、华数、乐视 等网站。Version: 1.2Author: Fens LiuAuthor URI: http://www.fengziliu.com/smartideo-for-wordpress.html*/define('SMARTIDEO_VERSION', '1.0');define('SMARTIDEO_URL', plugins_url('', __FILE__));define('SMARTIDEO_PATH', dirname( __FILE__ ));$smartideo = new smartideo();class smartideo{    private $width = '100%';    private $height = '500';    private $mobile_width = '100%';    private $mobile_height = '250';    public function __construct(){        if(is_admin()){            add_action('admin_menu', array($this, 'admin_menu'));        }        $option = get_option('smartideo_option');        if(!empty($option)){            $option = json_decode($option, true);        }else{            $option = array();        }        extract($option);        if(!empty($width)){            $this->width = $width;        }        if(!empty($height)){            $this->height = $height;        }        if(!empty($mobile_width)){            $this->mobile_width = $mobile_width;        }        if(!empty($mobile_height)){            $this->mobile_height = $mobile_height;        }        wp_embed_register_handler( 'smartideo_tudou',            '#https?://(?:www\.)?tudou\.com/(?:programs/view|listplay/(?<list_id>[a-z0-9_=\-]+))/(?<video_id>[a-z0-9_=\-]+)#i',            array($this, 'smartideo_embed_handler_tudou') );        wp_embed_register_handler( 'smartideo_56',            '#https?://(?:www\.)?56\.com/[a-z0-9]+/(?:play_album\-aid\-[0-9]+_vid\-(?<video_id1>[a-z0-9_=\-]+)|v_(?<video_id2>[a-z0-9_=\-]+))#i',            array($this, 'smartideo_embed_handler_56') );        wp_embed_register_handler( 'smartideo_youku',            '#https?://v\.youku\.com/v_show/id_(?<video_id>[a-z0-9_=\-]+)#i',            array($this, 'smartideo_embed_handler_youku') );        wp_embed_register_handler( 'smartideo_qq',            '#https?://v\.qq\.com/(?:cover/g/[a-z0-9_\.]+\?vid=(?<video_id1>[a-z0-9_=\-]+)|(?:[a-z0-9/]+)/(?<video_id2>[a-z0-9_=\-]+))#i',            array($this, 'smartideo_embed_handler_qq') );        wp_embed_register_handler( 'smartideo_sohu',            '#https?://my\.tv\.sohu\.com/us/(?:\d+)/(?<video_id>\d+)#i',            array($this, 'smartideo_embed_handler_sohu') );        wp_embed_register_handler( 'smartideo_wasu',            '#https?://www\.wasu\.cn/play/show/id/(?<video_id>\d+)#i',            array($this, 'smartideo_embed_handler_wasu') );        wp_embed_register_handler( 'smartideo_yinyuetai',            '#https?://v\.yinyuetai\.com/video/(?<video_id>\d+)#i',            array($this, 'smartideo_embed_handler_yinyuetai') );        wp_embed_register_handler( 'smartideo_ku6',            '#https?://v\.ku6\.com/show/(?<video_id>[a-z0-9\-_\.]+).html#i',            array($this, 'smartideo_embed_handler_ku6') );        wp_embed_register_handler( 'smartideo_letv',            '#https?://www\.letv\.com/ptv/vplay/(?<video_id>\d+)#i',            array($this, 'smartideo_embed_handler_letv') );    }    public function smartideo_embed_handler_tudou( $matches, $attr, $url, $rawattr ) {        if(wp_is_mobile()){            $embed = $this->get_iframe("http://www.tudou.com/programs/view/html5embed.action?type=0&code={$matches['video_id']}");        }else{            $embed = $this->get_embed("http://www.tudou.com/v/{$matches['video_id']}/&resourceId=0_05_05_99&bid=05/v.swf");        }return apply_filters( 'embed_tudou', $embed, $matches, $attr, $url, $rawattr );    }    public function smartideo_embed_handler_56( $matches, $attr, $url, $rawattr ) {$matches['video_id'] = $matches['video_id1'] == '' ? $matches['video_id2'] : $matches['video_id1'];        if(wp_is_mobile()){            $embed = $this->get_iframe("http://www.56.com/iframe/{$matches['video_id']}");        }else{            $embed = $this->get_embed("http://player.56.com/v_{$matches['video_id']}.swf");        }return apply_filters( 'embed_56', $embed, $matches, $attr, $url, $rawattr );    }    public function smartideo_embed_handler_youku( $matches, $attr, $url, $rawattr ) {        if(wp_is_mobile()){            $embed = $this->get_iframe("http://player.youku.com/embed/{$matches['video_id']}");        }else{            $embed = $this->get_embed("http://player.youku.com/player.php/sid/{$matches['video_id']}/v.swf");        }return apply_filters( 'embed_youku', $embed, $matches, $attr, $url, $rawattr );    }    public function smartideo_embed_handler_qq( $matches, $attr, $url, $rawattr ) {        $matches['video_id'] = $matches['video_id1'] == '' ? $matches['video_id2'] : $matches['video_id1'];        if(wp_is_mobile()){            $embed = $this->get_iframe("http://v.qq.com/iframe/player.html?vid={$matches['video_id']}");        }else{            $embed = $this->get_embed("http://static.video.qq.com/TPout.swf?vid={$matches['video_id']}");        }return apply_filters( 'embed_qq', $embed, $matches, $attr, $url, $rawattr );    }    public function smartideo_embed_handler_sohu( $matches, $attr, $url, $rawattr ) {        if(wp_is_mobile()){            $embed = $this->get_iframe("http://tv.sohu.com/upload/static/share/share_play.html#{$matches['video_id']}_0_0_9001_0");        }else{            $embed = $this->get_embed("http://share.vrs.sohu.com/my/v.swf&topBar=1&id={$matches['video_id']}&autoplay=false&xuid=&from=page");        }return apply_filters( 'embed_sohu', $embed, $matches, $attr, $url, $rawattr );    }    public function smartideo_embed_handler_wasu( $matches, $attr, $url, $rawattr ) {        if(wp_is_mobile()){            $embed = $this->get_iframe("http://www.wasu.cn/Play/iframe/id/{$matches['video_id']}");        }else{            $embed = $this->get_embed("http://s.wasu.cn/portal/player/20141216/WsPlayer.swf?mode=3&vid={$matches['video_id']}&auto=0&ad=4228");        }return apply_filters( 'embed_wasu', $embed, $matches, $attr, $url, $rawattr );    }    public function smartideo_embed_handler_yinyuetai( $matches, $attr, $url, $rawattr ){        $embed = $this->get_embed("http://player.yinyuetai.com/video/player/{$matches['video_id']}/v_0.swf");return apply_filters( 'embed_yinyuetai', $embed, $matches, $attr, $url, $rawattr );    }    public function smartideo_embed_handler_ku6( $matches, $attr, $url, $rawattr ){        $embed = $this->get_embed("http://player.ku6.com/refer/{$matches['video_id']}/v.swf");return apply_filters( 'embed_ku6', $embed, $matches, $attr, $url, $rawattr );    }    public function smartideo_embed_handler_letv($matches, $attr, $url, $rawattr){        $embed = $this->get_embed("http://i7.imgs.letv.com/player/swfPlayer.swf?id={$matches['video_id']}&autoplay=0");return apply_filters( 'embed_letv', $embed, $matches, $attr, $url, $rawattr );    }    private function get_embed($url){        $embed = sprintf(            '<embed src="%1$s" allowFullScreen="true" quality="high" width="%2$s" height="%3$s" allowScriptAccess="always" type="application/x-shockwave-flash"></embed>',            $url, $this->width, $this->height);        return $embed;    }    private function get_iframe($url){        $iframe = sprintf(            '<iframe src="%1$s" width="%2$s" height="%3$s" frameborder="0" allowfullscreen="true"></iframe>',            $url, $this->mobile_width, $this->mobile_height);        return $iframe;    }    public function admin_menu(){        add_plugins_page('Smartideo 设置', 'Smartideo 设置', 'manage_options', 'smartideo_settings', array($this, 'admin_settings'));    }    public function admin_settings(){        if($_POST['smartideo_submit'] == '保存'){            $param = array('width', 'height', 'mobile_width', 'mobile_height');            $json = array();            foreach($_POST as $key => $val){                if(in_array($key, $param)){                    $json[$key] = $val;                }            }            $json = json_encode($json);             update_option('smartideo_option', $json);        }        $option = get_option('smartideo_option');        if(!empty($option)){            $option = json_decode($option, true);        }        if(empty($option['width'])){            $option['width'] = '100%';        }        if(empty($option['height'])){            $option['height'] = '500';        }        if(empty($option['mobile_width'])){            $option['mobile_width'] = '100%';        }        if(empty($option['mobile_height'])){            $option['mobile_height'] = '250';        }        echo '<h2>Smartideo 设置</h2>';        echo '<form action="" method="post">            <table class="form-table"><tr valign="top">                    <th scope="row">播放器宽度</th>                    <td>                        <label><input type="text" class="regular-text code" name="width" value="'.$option['width'].'"></label>                        <br />                        <p class="description">默认宽度为100%</p>                    </td></tr><tr valign="top">                    <th scope="row">播放器高度</th>                    <td>                        <label><input type="text" class="regular-text code" name="height" value="'.$option['height'].'"></label>                        <br />                        <p class="description">默认高度为500px</p>                    </td></tr>                <tr valign="top">                    <th scope="row">移动设备播放器宽度</th>                    <td>                        <label><input type="text" class="regular-text code" name="mobile_width" value="'.$option['mobile_width'].'"></label>                        <br />                        <p class="description">手机、平板等设备访问时,默认宽度为100%</p>                    </td></tr><tr valign="top">                    <th scope="row">移动设备播放器高度</th>                    <td>                        <label><input type="text" class="regular-text code" name="mobile_height" value="'.$option['mobile_height'].'"></label>                        <br />                        <p class="description">手机、平板等设备访问时,默认高度为250px</p>                    </td></tr>            </table>            <p class="submit"><input type="submit" name="smartideo_submit" id="submit" class="button-primary" value="保存"></p>        </form>';    }}
公众微信:idc5ahl
公众QQ:吾爱互联
关注公众微信,公众QQ每天领现金卡密
卡密介绍(http://www.5ahl.com/thread-2182-1-1.html
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 点我注册

快速回复 返回顶部 返回列表