修改WordPress音乐插件Hermit以支持最新的OneDrive音乐直链

发布于 2016-01-28  471 次阅读


一直想有个自己的类似于播客的平台,主要播放一些自己喜欢的歌曲,要是再能搞个广播,播放一下粤语评书那就更不错了,加上属于个人的视频平台,那就更加完美了。目前还在构想阶段,部分已经完成,目标是构建一个专属于个人的全方位网络平台。

在音乐播放方面,我就选了 WordPress 的 Hermit 插件,前一阵子 OneDrive 取消了公共分享功能,以致现在的分享直链带有参数,不巧的是 Hermit 并不支持这个参数! 添加 OneDrive 的最新音乐外链进去,总是会自动将“&”符号转义为“&”,以致外链失效。

我先去 Hermit 插件的开发者(@牧风)的博客上反馈,希望能解决这个问题,不过因为反馈的时候带有“&”符号,评论系统自动将后面的全部给过滤掉了。于是就放弃了。因为我根本就没学过 PHP,不会改,之前修改主题模板都是网上有的,可以直接copy,大不了就修改一些参数什么的,非常简单。

据说 PHP 是世上最好的语言,实在太牛逼了,我是个傻逼,智商低,不敢擅自自学。

于是干脆花了点时间去找其他的插件来替代 Hermit,找到另一个也是国人开发的 wp-play(差不多是这个名字,忘了),部分代码参照了 Hermit,功能也一样,能够使用 OneDrive 的外链,还能自定义音乐封面,而且更加精美小巧,唯一不足之处是竟然没有音乐库,非常不方便,不适合我用。

实在没办法,只能逼自己动手了。挖坑,跳。

已经放到了我的GitHub上:

Hermit for www.chias.me

CSS也做了点修改。为了防止升级之后失效,你可以K掉它的升级代码。

预览:

ScreenshotPreview

其实修正这个问题很简单,就修改了两行代码,这两行代码还是一样的。

顺便附上核心修改的地方,方便一些网友:

修改 hermit/class.hermit.php 文件,将所有

$song_url = esc_attr(esc_html($this->post('song_url')));

改为:

$song_url = $this->post('song_url');

如果插件升级,你可以再次修改这地方的代码。或者你也可以K掉它的升级,做一个私人使用的特别版本。