wordpress 添加豆瓣书影记录

November 08, 2019

插件基本是用牧风的SDK改出来的,接口也是牧风的。

wordpress自带jQuery并不支持 $ 关键字,head 设置 meta 也需要通过官方钩子实现,如果你想在自己的wordpress的站点上布置读书观影记录,并不能完全按照牧风的教程来做,对没有接触过编程的人来说,这存在一定难度。拿牧风的SDK改了一下,做成了插件,有需要的可以拿来用。如果不想多装插件,可以根据下面的教程集成到自己的主题上。

牧风的项目地址:https://github.com/iMuFeng/bmdb/

插件效果见:https://bearye.cn/movies

下载

Github

*三无产品,无技术支持

使用

上传到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上正确

  1. 设置头部meta;
  2. 引入资源文件。

第一点,设置头部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文件夹扔到了主题文件夹里,上面的代码就不用改了。

这两点解决了其他就很简单了,没必要再说了。

32 thoughts

  1. 头像

    要养萨摩耶

    yaoyangsamoye.top
    谢谢您啦。

    • @要养萨摩耶 没引进jQuery

    • @要养萨摩耶 function bmdb_register_jquery(){
      wp_enqueue_script(“jquery”);
      }
      add_action(‘wp_enqueue_scripts’, ‘bmdb_register_jquery’);

  2. 还有一个问题是,在获取密码上那个网站上同步不了我的书,只能同步电影,但我看了我的图书记录,想读,在读,已读都是有书的,但是那边只显示没有数据。谢谢您!

    • @要养萨摩耶 找mufeng反馈,接口是他的

  3. 不是这个原因,我在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标签闭合),其他原因我不知道了

  4. 按您说的方法都改过了,但是还是没有界面显示,我甚至按您界面的修改了bmdb.php,还是没有效果,或许您可以帮我看看那一页的源代码?

    • @要养萨摩耶 你页面head里一个js都没加载,整个页面没看到引入WP jQuery(只有一个外链的jQuery的body末),报错也是没定义jQuery方法,只能说是你主题问题或者用了某个插件,重置了wp头部,导致没引入jQuery或者引入顺序错误,你换默认主题并且禁用所有插件,如果正常,那就是主题或者插件问题,自己排查。

  5. 好了,谢谢您,问题找到了,是主题的问题,换到默认的就好了,我去看可不可以修改一下主题

Respond

There always be wrong words in life, so let it go.

*点击图片可关闭图片灯箱