通过WordPress公开web服务


Exposing a web service through WordPress

我正在为WordPress创建一个新的插件,需要外部网站使用web服务。例如,如果有两个站点,A和B,插件将安装在A站点上,所有相关数据将存储在站点A的WordPress数据库中。站点B将使用web服务从站点A获取XML格式的数据。

这可能吗?最安全的方法是什么?

我可以把web服务作为一个PHP文件在我的插件中,但这将需要外部域击中这样的东西:http://www.example.com/wp-content/plugins/plugin-folder/web-service.php。暴露WordPress设置的深度似乎不是一个好主意。

我可以让我的插件在根目录中创建一些文件,以便web服务调用将是http://www.example.com/web-service.php,但是让我的插件在插件目录之外安装东西也似乎是一个不好的做法。

另一个想法:我可以把文件放在我的插件文件夹,但在文件中添加一行。Htaccess 使http://www.example.com/web-service.php转到它?

最好、最安全的方法是什么?

我会在中设置一个重写规则。Htaccess 让用户在不知道代码在哪里的情况下访问代码。我不认为有一个简单的方法来添加特定的路由到WordPress前端控制器,但你可以看看是否有一个动作或过滤器来做到这一点。

这是一篇关于添加路由的文章:我如何创建自定义URL路由?

在我个人看来,如果我安装了一个WP插件,你在我的根目录下创建了一个新文件,我要么删除这个文件,要么删除这个插件。我也会尽量避免添加。htaccess文件。这又让我起了疑心。

我要做的是,在站点B(您的站点)上安装ping文件,该文件捕获站点a(他们的站点)上插件文件夹的位置,因为WP可能安装在目录内而不是根目录。然后你就知道"web-service.php"在哪了。文件已定位。然后你就可以随时点击那个文件了。没有理由使用。htaccess规则,或者创建新文件。

只是一个建议:)