这个问题基本上是我创建的trac记录单的副本#42973.
在Theme Sniffer 插件I已替换admin-ajax.php
具有REST
端点。
因此,当您想要对主题运行检查时,调用的用于检查主题的路由类似于
https://example.com/wp-json/theme-sniffer/v1/sniff-run
现在如果我在一个子目录中安装WordPress
/test
路线应为
https://example.com/test/wp-json/theme-sniffer/v1/sniff-run
但事实并非如此。嗅探运行将尝试在访问终结点
https://example.com/wp-json/theme-sniffer/v1/sniff-run
这根本不存在!
路线的添加方式如下:
<?php
add_action( \'rest_api_init\', \'theme_sniffer_endpoint_init\' );
/**
* Register endpoints function
*
* @since 0.1.0
*/
function theme_sniffer_endpoint_init() {
register_rest_route( \'theme-sniffer/v1\', \'/sniff-run\', array(
\'methods\' => \'POST\',
\'callback\' => \'theme_sniffer_run_sniffer\',
) );
register_rest_route( \'theme-sniffer/v1\', \'/individual-sniff\', array(
\'methods\' => \'POST\',
\'callback\' => \'theme_sniffer_individual_sniff\',
) );
}
您可以检查代码
here.
我的猜测是,如果插件名称空间没有定义,子目录将被忽略,并且它将假定端点来自根文件夹。
我还没有详细介绍WP中的REST体系结构(将在本周晚些时候介绍),但如果是这样,插件的名称空间是否会有所帮助?