发布于 2015-02-21 23:26:02
我不知道文档是过时的还是什么的,但是扩展WP非常简单。您首先需要编写插件。
在插件中,注册脚本和样式之类的钩子(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
}https://stackoverflow.com/questions/26949009
复制相似问题