Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过Wordpress公开Web服务_Php_Web Services_Wordpress - Fatal编程技术网

Php 通过Wordpress公开Web服务

Php 通过Wordpress公开Web服务,php,web-services,wordpress,Php,Web Services,Wordpress,我正在为WordPress创建一个新插件,它需要一个外部网站来使用web服务。例如,如果有两个站点A和B,插件将安装在A上,所有相关数据都存储在站点A的WPDB中。站点B将使用web服务从站点A获取XML格式的数据 这可能吗?实现这一点最安全的方法是什么 我可以将web服务作为PHP文件放在我的插件中,但这将需要外部域执行以下操作: . 公开Wordpress设置的深度级别似乎不是一个好主意 我可以让我的插件在根目录中创建一些文件,这样web服务调用将被调用,但是让我的插件在插件目录之外安装东

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

这可能吗?实现这一点最安全的方法是什么

我可以将web服务作为PHP文件放在我的插件中,但这将需要外部域执行以下操作: . 公开Wordpress设置的深度级别似乎不是一个好主意

我可以让我的插件在根目录中创建一些文件,这样web服务调用将被调用,但是让我的插件在插件目录之外安装东西似乎也是一种不好的做法

另一个想法是:我可以把这个文件放在我的插件文件夹中,但在.htaccess中添加一行来访问它吗


有没有人想到最好、最安全的方法来解决这个问题?

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

编辑:


这里有一篇关于添加路由的帖子

在我个人看来,如果我安装了一个WP插件,而你在我的根目录中创建了一个新文件,我要么删除该文件,要么一起删除该插件。我也会尽量避免添加.htaccess文件。这会再次让我产生怀疑

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


只是一个建议:)

可以向WordPress前端控制器添加路由。是的,这就是我不想在根目录添加文件的原因。我也会怀疑的。我认为Peter下面的方法是可行的。我认为这会很好地工作(一旦我知道如何以我想要的方式重写它)。这似乎是在连接Wordpress时将所有内容保存在一个独立插件文件夹中的最佳方法。谢谢你,彼得!