设置自定义 WordPress REST-API URL

问题描述 投票:0回答:1

我正在 apache2 Debian 服务器上运行常规 WordPress 实例。对于前端,我使用带有 WordPress 后端 REST-API 的 React Spa。 现在,我更改了前端的 URL,将其与 WordPress 后端分开:

/** SITE SETTINGS
 */

define('WP_HOME','https://frontend.foo.bar');
define('WP_SITEURL','https://backend.foo.bar');

问题是,其余的 API 调用现在是从 frontend.foo.bar/wp-json/... 例如,当我尝试更新现有帖子时,我收到了消息:

“更新失败。您可能处于离线状态。”

是否可以以某种方式修改 API 域? 有一个

rest_url_prefix
但它只改变域后面的部分。

wordpress rest apache
1个回答
0
投票

将此代码添加到主题的functions.php中。它将执行类似的前缀替换,但会将您的 home_url 完全替换为 siteurl,并且不会导致错误 “更新失败。您可能离线”

function custom_rest_url( $url ) {
    $new_url = trailingslashit( get_option( 'siteurl' ) ) . 'wp-json';

    $url = str_replace( home_url( '/wp-json' ), $new_url, $url );

    return $url;
}

add_filter( 'rest_url', 'custom_rest_url' );
© www.soinside.com 2019 - 2024. All rights reserved.