插件基本是用牧风的SDK改出来的,接口也是牧风的。
wordpress自带jQuery并不支持 $
关键字,head 设置 meta 也需要通过官方钩子实现,如果你想在自己的wordpress的站点上布置读书观影记录,并不能完全按照牧风的教程来做,对没有接触过编程的人来说,这存在一定难度。拿牧风的SDK改了一下,做成了插件,有需要的可以拿来用。如果不想多装插件,可以根据下面的教程集成到自己的主题上。
牧风的项目地址:https://github.com/iMuFeng/bmdb/
插件效果见:https://bearye.cn/movies
*三无产品,无技术支持
上传到wordpress -> 启用插件 -> 设置secret -> 新建页面并填入 [bmdb]movies[/bmdb]
或者 [bmdb]books[/bmdb]
-> 发布
Secret申请:https://bm.weajs.com/
2020.2.18 Ver2.0 更新到mufeng最新API(book url error fixed)
2019.11.8 Ver1.0 发布
在wordpress上布置bmdb,核心基本与Github上的readme没区别,特别就在于如何在wordpress上正确
第一点,设置头部meta,在 functions.php
添加代码:
function bmdb_head()
{
echo '<meta name="referrer" content="never">';
}
add_action('wp_head','bmdb_head');
第二点,引入资源,在 functions.php
添加代码:
function bmdb_css_js(){
wp_enqueue_script("jquery");//如果已引入jquery,就去掉这一行代码
wp_enqueue_style( 'bmdb', get_template_directory_uri().'/dist/Bmdb.min.css' );//第二个参数填css的地址
wp_enqueue_script( 'bmdb', get_template_directory_uri().'/dist/Bmdb.min.js' );//第二个参数填js的地址
}
add_action('wp_enqueue_scripts', 'bmdb_css_js');
如果你直接把Github上下载的dist文件夹扔到了主题文件夹里,上面的代码就不用改了。
这两点解决了其他就很简单了,没必要再说了。
40 thoughts
要养萨摩耶
yaoyangsamoye.top
谢谢您啦。
熊野
@要养萨摩耶 没引进jQuery
熊野
@要养萨摩耶 function bmdb_register_jquery(){
wp_enqueue_script(“jquery”);
}
add_action(‘wp_enqueue_scripts’, ‘bmdb_register_jquery’);
要养萨摩耶
还有一个问题是,在获取密码上那个网站上同步不了我的书,只能同步电影,但我看了我的图书记录,想读,在读,已读都是有书的,但是那边只显示没有数据。谢谢您!
熊野
@要养萨摩耶 找mufeng反馈,接口是他的
要养萨摩耶
不是这个原因,我在bmdp.php中找到了下面这段代码
function my_bmdb_css_js(){
wp_enqueue_script(“jquery”);
wp_enqueue_style( ‘bbmdbb’, plugins_url( ‘includes/Bmdb.min.css’,__FILE__),null,’1.6.0′);
wp_enqueue_script( ‘bbmdbb’, plugins_url( ‘includes/Bmdb.min.js’,__FILE__),null,’1.6.0′);
}
add_action(‘wp_enqueue_scripts’, ‘my_bmdb_css_js’);
应该是引入了jquery,不知道是什么原因?
熊野
@要养萨摩耶 那就是你给jQuery加了cdn,插件只适配wp自带的jQuery,修改bmdb.php第27行…jQuery(document).ready…为…$(document).ready…
熊野
@要养萨摩耶 把ready的回调函数的参数$也去掉
熊野
@要养萨摩耶 反正你head没加载script,你主题插件什么的我也不知道,原因自己排查。
熊野
@要养萨摩耶 可能是你头部没载入wp头部,head里自己加上
wp_head()
(需要使用php标签闭合),其他原因我不知道了要养萨摩耶
按您说的方法都改过了,但是还是没有界面显示,我甚至按您界面的修改了bmdb.php,还是没有效果,或许您可以帮我看看那一页的源代码?
熊野
@要养萨摩耶 你页面head里一个js都没加载,整个页面没看到引入WP jQuery(只有一个外链的jQuery的body末),报错也是没定义jQuery方法,只能说是你主题问题或者用了某个插件,重置了wp头部,导致没引入jQuery或者引入顺序错误,你换默认主题并且禁用所有插件,如果正常,那就是主题或者插件问题,自己排查。
要养萨摩耶
好了,谢谢您,问题找到了,是主题的问题,换到默认的就好了,我去看可不可以修改一下主题