[英]Where to start with extending WP-API
我不知道文档是否过时,但是扩展WP-API非常简单。 您需要先编写一个插件 。
在插件中,您可以在其中注册脚本和样式等钩子(functions.php,bootstrap.php),并添加一个新钩子来注册路由。
add_filter( 'json_endpoints', array( $this, 'registerRoutes' ) );
public function registerRoutes($routes){
$editorService = $this->container["editorService"];
$routes['/newsletters'] = array(
array( array( $editorService, 'create'), \WP_JSON_Server::CREATABLE | \WP_JSON_Server::ACCEPT_JSON ),
);
$routes['/newsletters/(?P<id>\d+)'] = array(
array( array( $editorService, 'get'), \WP_JSON_Server::READABLE )
);
return $routes;
}
如果您阅读文档,将会看到新闻通讯是实体。 在此示例中,我注入服务并在路由中调用它。 很可能您使用了不同的方法,如果在这一点上遇到困难,则必须弄清楚如何构造插件,适用的模式,编写或编写自己的框架等。
如果是这种情况,请检查此框架,这是MVC的一种很好的方法https://github.com/iandunn/WordPress-Plugin-Skeleton
如果要在同一类中调用函数,则可以执行以下操作:
public function registerRoutes(){
$routes['/newsletters'] = array(
array( array( $this, 'createNewsletter'), \WP_JSON_Server::CREATABLE | \WP_JSON_Server::ACCEPT_JSON )
);
}
public function createNewsletter() {
$wpdb->prepare(); // etc etc
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.