[英]WordPress REST API doesn't work on custom wordpress path
我正在开发我的第一个 wordpress 自定义主题并在自定义 Gutenberg 块上工作。 到目前为止,它适用于我的设置。 但担心用户何时将其安装在不同的路径上。 我正在像这样拨打 REST API 电话:
function( props ) {
if (! props.attributes.categories ){
wp.apiFetch( {
url: '/wordpress/wp-json/wp/v2/categories'
} ).then(categories => {
props.setAttributes ({
categories: categories
})
});
}
我已经在自定义路径(/wordpress)而不是主文件夹上使用 MAMP 在本地安装了 wordpress。 所以http://localhost/wordpress/
。 My question is, the API URL url: '/wordpress/wp-json/wp/v2/categories'
works because I've specified the exact path, adding /wordpress/
in front of the usual path, but how can I make it动态,以便它适用于用户将 wordpress 站点安装到的任何路径?
只要 wordpress 安装在索引文件夹上,只需url: '/wp-json/wp/v2/categories'
对任何用户都可以正常工作。 但是,如果用户决定在自定义路径下的 wordpress 站点上安装我的主题和插件,例如theme.com/wordpress-subfolder/
怎么办?
在此先感谢大家!
使用 get_rest_url() 的值本地化您的脚本。
wp_register_script( 'my-script' , 'path/to/the-script.js' );
wp_localize_script( 'my_script' , 'wpRestApi' , array( 'url' => get_rest_url() ) );
wp_enqueue_script( 'my_script' );
在js中,可以通过wpRestApi.url访问url
wpRestApi.url + 'wp/v2/categories'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.