Php WordPressRESTAPI问题

Php WordPressRESTAPI问题,php,wordpress,rest,Php,Wordpress,Rest,我目前正试图了解Wordpress及其与RESTAPI的关系。所有这些问题只发生在插件开发的环境中。到目前为止,我已经设置了我的端点并编写了回调,每当有人向该端点发送GET请求时,就会执行回调。但是,我的回调从未被调用。这是我到目前为止写的文件 如果我能提供一些关于我的开发机器的背景信息,或许也会有所帮助: -操作系统:Windows 10 -服务器:Apache Web服务器(包含在XAMPP中) -Wordpress版本:5.3.2 -PHP版本:7.4 -开发IDE:Eclipse201

我目前正试图了解Wordpress及其与RESTAPI的关系。所有这些问题只发生在插件开发的环境中。到目前为止,我已经设置了我的端点并编写了回调,每当有人向该端点发送GET请求时,就会执行回调。但是,我的回调从未被调用。这是我到目前为止写的文件

如果我能提供一些关于我的开发机器的背景信息,或许也会有所帮助: -操作系统:Windows 10 -服务器:Apache Web服务器(包含在XAMPP中) -Wordpress版本:5.3.2 -PHP版本:7.4 -开发IDE:Eclipse2019-12CDT(带有PHP插件)

从我的研究来看,一切都应该很好。然而,我没有错过一些重要的事情吗

更新:

WordPress REST API路由

WordPress对所有指向RESTAPI的请求都有一个默认路由(至少如果您在Bitnami WordPress应用模块中使用XAMPP)。现在,如果想要向所述RESTAPI发送请求,则需要使用ip:port/wp json/REST\u route格式的URL。ip编码承载wordpress的服务器的ip地址。端口是所述服务器的端口。然而,wp-json是普通请求与对restapi的请求不同的部分。这部分(rest_路由)之后的所有内容都是我在上述源代码中定义的rest路由

出了什么问题?


我的请求指向了错误的端点。因此,我使用了URL“localhost:wport/wordpress/student/v1/view/”。但是,缺少“wp json/”部分。因此WordPress将搜索一个根本不存在的页面。相反,我应该使用URL“localhost:wpPort/wordpress/wp json/student/v1/view/”。

经过一些疑难解答后,发现用于测试的URL缺少端点路径的一部分

下面是测试新注册端点的正确路径

localhost:80/wordpress/wp-json/student/v1/view/
下面是关于WP Rest API端点的更多阅读:


经过一些故障排除后,发现用于测试的URL缺少端点路径的一部分

下面是测试新注册端点的正确路径

localhost:80/wordpress/wp-json/student/v1/view/
下面是关于WP Rest API端点的更多阅读:


我没有在您的代码示例中看到它,因此我认为您需要将函数附加到rest api初始化挂钩:
add_action('rest_api_init','SetupREST')我不小心忘了包括这一部分。它应该在我的答案的最新版本中。好的,很酷。下一步我会尝试将你的代码移动到你的主题函数文件中,这将排除插件的任何错误配置。由你决定。这只是我使用的一种故障排除技术。您用来验证的端点URL是什么?啊,试试这个:localhost:80/wordpress/wp json/student/v1/view/我在代码示例中没有看到它,所以我认为您需要将函数附加到rest api init钩子上:
add_操作('rest_api_init','SetupREST')我不小心忘了包括这一部分。它应该在我的答案的最新版本中。好的,很酷。下一步我会尝试将你的代码移动到你的主题函数文件中,这将排除插件的任何错误配置。由你决定。这只是我使用的一种故障排除技术。您用来验证的端点URL是什么?啊,试试这个:localhost:80/wordpress/wp-json/student/v1/view/