我正在编写我的第一个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/。我的问题是,API之所以有效,是因为我已经指定了确切的路径,在通常的路径前面添加了/wordpress/,但是我如何才能使它动态起来,以便它适用于用户安装wordpress站点的任何路径?
只要在索引文件夹中安装了wordpress,任何用户都可以使用url: '/wp-json/wp/v2/categories'。但是,如果用户决定将我的主题和插件安装在一个自定义路径下的wordpress站点上,比如theme.com/wordpress-subfolder/怎么办?
提前感谢大家!
发布于 2021-12-03 13:28:42
使用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'https://stackoverflow.com/questions/70138124
复制相似问题