我正在尝试使用和扩展WP-API为Wordpress。
现在我可能只是愚蠢,但我真的不知道从哪里开始,即使我已经读了上面的链接一遍又一遍。我说的不是代码,而是最基本的,我把代码放在哪里?在插件里?如果是这样的话,我需要包括哪些内容才能让它发挥作用?或者它是否足以扩展这个类?
抱歉,我只是发现页面上的信息太少了.还是我完全错过了一个从上到下结构完美的例子?
这是在GitHub上。谢谢你的帮助!
发布于 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
复制相似问题