WordPress视频播放插件Smartideo修改版已解决不能播放问题 - 小浣熊博客

WordPress视频播放插件Smartideo修改版已解决不能播放问题

发布者: 小浣熊

全网最全的网络资源分享网站

手机扫码查看

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

这篇文章总字数为:2447 字,有 1 张图存于本站服务器

QQ图片20200423154652.png

导语:

最近B站调整了视频链接的ID,由原来的AV开头改为BV开头,这导致WordPres视频播放插件Smartideo无法正常播放视频,原因是Smartideo正则无法获取由数字和大小写字母组成的字符串,以前可以直接复制粘贴视频地址到文章中调用视频,现在不行了,有个新办法可以让AV和BV号共存播放视频。

Smartideo插件

支持播放:优酷、bilibili、ACfun、音悦台、网易视频、芒果TV、搜狐视频、土豆、56、腾讯视频、新浪视频、酷6、华数、乐视、YouTube 等视频网站。

修改方法:

1.在Smartideo插件文件smartideo.php的87行:

找到下面代码段:

array($this, 'smartideo_embed_handler_bilibili') );

下面添加:

class="prettyprint">wp_embed_register_handler( 'smartvideo_bilibili_bv',
'#https?://www\.bilibili\.com/video/BV(?:(?[a-z0-9_=\-]+)/(?:index_|\#page=)(?[a-z0-9_=\-]+)|(?[a-z0-9_=\-]+))#i',
array($this, 'smartvideo_embed_handler_bilibili_bv') );

大约在195行找到代码:

return apply_filters( 'embed_bilibili', $embed, $matches, $attr, $url, $rawattr );

在下面添加:

public function smartvideo_embed_handler_bilibili_bv( $matches, $attr, $url, $rawattr ) {
$matches['video_id'] = ($matches['video_id1'] == '') ? $matches['video_id'] : $matches['video_id1'];
$page = ($matches['video_id2'] > 1) ? $matches['video_id2'] : 1;
$cid = '';
$embed = $this->get_iframe("//player.bilibili.com/player.html?bvid={$matches['video_id']}&cid={$cid}&page={$page}", $url);
return apply_filters( 'embed_bilibili', $embed, $matches, $attr, $url, $rawattr );

若要让Smartideo同时支持播放原来AV开头视频,修改以下代码。

public function smartideo_embed_handler_bilibili( $matches, $attr, $url, $rawattr ) {
$matches['video_id'] = ($matches['video_id1'] == '') ? $matches['video_id'] : $matches['video_id1'];
$page = ($matches['video_id2'] > 1) ? $matches['video_id2'] : 1;
$cid = '';
/*
try{
$request = new WP_Http();
$url = "https://api.bilibili.com/view?type=jsonp&appkey=8e9fc618fbd41e28&id=" . $matches['video_id'];
$data = (array)$request->request($url, array('timeout' => 3));
$json = json_decode($data['body'], true);
$cid = $json['cid'];

}catch(Exception $e){}
*/
if(wp_is_mobile() || $this->bilibili_pc_player == 1){
$embed = $this->get_iframe("//player.bilibili.com/player.html?aid={$matches['video_id']}&cid={$cid}&page={$page}", $url);
}else{
$embed = $this->get_link($url);
}
return apply_filters( 'embed_bilibili', $embed, $matches, $attr, $url, $rawattr );
}

替换上面代码为:

public function smartideo_embed_handler_bilibili( $matches, $attr, $url, $rawattr ) {
$matches['video_id'] = ($matches['video_id1'] == '') ? $matches['video_id'] : $matches['video_id1'];
$page = ($matches['video_id2'] > 1) ? $matches['video_id2'] : 1;
$cid = '';
$embed = $this->get_iframe("//player.bilibili.com/player.html?aid={$matches['video_id']}&cid={$cid}&page={$page}", $url);
return apply_filters( 'embed_bilibili', $embed, $matches, $attr, $url, $rawattr );
}

如果没时间自己修改,可以直接下载下面修改好的Smartideo插件。

插件下载

 

本文最后更新于2020-4-23,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
分享到:
打赏
-版权声明-

阅读时间:  发布于:2020-4-23
文章标题:《WordPress视频播放插件Smartideo修改版已解决不能播放问题》
本文链接:https://www.mua222.cn/post-60.html
本文编辑: 小浣熊,转载请注明超链接和出处小浣熊博客
收录状态:[百度已收录][360已收录][搜狗已收录]

评论

     快速回复: 支持 感谢 学习 不错 高兴 给力 加油 惊喜
  1. #19
    aRAY游客 Lv.1  

  2. #18
    aRAY游客 Lv.1  

  3. #17
    久九.游客 Lv.1  

  4. #16
    这朵男人、游客 Lv.1  

  5. #15
    zentey会员 Lv.1  

  6. #14
    akqq8888会员 Lv.1  

  7. #13
    776游客 Lv.1  

  8. #12
    776游客 Lv.1  

  9. #11
    lzj8014会员 Lv.1  

  10. #10
    gordonGS会员 Lv.1  

切换注册

登录

忘记密码?

您也可以使用第三方帐号快捷登录

切换登录

注册

WordPress视频播放插件Smartideo修改版已解决不能播放问题

长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏