因此,我使用WP-API plugin创建了一个自定义端点。当使用Postman进行测试时,端点按预期工作。
问题是,当我尝试使用内置Backbone JS client访问自定义端点时,在wp.api.models对象中看不到我的新端点。
我一直在挖掘,我想我必须发送一个不同的模式或其他东西来初始化它,但是我完全不知道如何也找不到任何关于如何扩展wp.api.models的信息,这样我就可以访问我的自定义方法。
示例插件代码:
function my_awesome_func( $data ) {
return 'A STRING';
}
function initrest() {
register_rest_route( 'wp/v2', '/score', array(
'methods' => 'GET',
'callback' => 'my_awesome_func',
));
}
add_action( 'rest_api_init', 'initrest');
示例模板代码:
window.onload = function() {
console.log(wp.api.models);
};
这将输出一个常见模型的列表,用于Post、Comment、Tag等,但没有显示我的“scores”端点。
发布于 2017-06-17 01:21:52
尝试使用您自己的路由初始化wp api。
wp.api.init({'versionString' : 'custom-route/v1/', 'apiRoot': 'http://my-website.com/wp-json/'}).done(function()
{
console.log(wp.api.models);
});
而versionString和apiRoot需要替换为您自己的数据。
发布于 2019-05-14 03:19:48
我担心自定义端点不能通过主干客户端的设计进入wp.api.models
。看一看my question和各自的答案。它们可以归结为:“使用不同的客户端”。
我使用node-wpapi。
https://stackoverflow.com/questions/40790912
复制相似问题