无法创建新帖子| Wordpress API |骨干JS |无法读取未定义的属性“应用”

问题描述

我正在尝试使用wordpress的Backbone.js客户端创建新帖子。

var post = wp.api.models.Post({ title: "Lorem ipsum",status: "publish" });

但是我遇到了以下错误

Uncaught TypeError: Cannot read property 'apply' of undefined
    at Object.h.Model (backbone.min.js?ver=1.4.0:formatted:232)
    at Object.i (backbone.min.js?ver=1.4.0:formatted:1247)
    at Object.i (backbone.min.js?ver=1.4.0:formatted:1247)
    at Object.i (backbone.min.js?ver=1.4.0:formatted:1247)
    at Object.i (backbone.min.js?ver=1.4.0:formatted:1247)
    at Object.i (backbone.min.js?ver=1.4.0:formatted:1247)
    at Object.i (backbone.min.js?ver=1.4.0:formatted:1247)
    at Object.i (backbone.min.js?ver=1.4.0:formatted:1247)
    at Object.i (backbone.min.js?ver=1.4.0:formatted:1247)
    at Object.i [as Post] (backbone.min.js?ver=1.4.0:formatted:1247)

有人有类似的问题吗?我在任何地方都找不到解决方案。

解决方法

步骤1 -启用wp-api-fetch作为脚本的依赖项:

wp_enqueue_script('my-script','path/to/my/script.js',array('wp-api-fetch'));

步骤2 -在path/to/my/script.js中调用rest-api创建一个新的帖子,如下所示:

wp.apiFetch({
  path: 'wp/v2/posts',method: 'POST',data: { title: 'New Title'}
}).then(post => console.log(post))

answer 提出了其他一些用例:

https://wordpress.stackexchange.com/a/361012/119120

REST API手册中有关javaScript / Backbone客户端库的更多信息:

https://developer.wordpress.org/rest-api/using-the-rest-api/backbone-javascript-client/