我不需要在WP网站上设置前端。所有访问者将被重定向到我的前端应用所在的外部url。
现在,我的主题函数的根中有以下代码。php:
if ( ! is_admin() ) {
wp_redirect( \'http://www.example.com\', 200 );
exit;
}
不幸的是,这是在设置rest api所需的插件运行之前运行的。
我应该将此代码放在哪里才能正确执行?
警告请参见下面的答案。
我自己找到了解决方案:
add_action( \'wp_loaded\', function () {
// check if there is a \'wp-json\' URI part
if (! strpos($_SERVER[\'REQUEST_URI\'], \'wp-json\')) {
// No rest api request. Now check if we are on frontend
if ( ! is_admin() ) {
// We are on frontend: redirect now
wp_redirect( \'http://www.example.com\', 200 );
exit();
}
}
});
如果将上述代码放入插件文件中,则可以正常工作(已测试)。
当放在主题的根目录中时,上述代码不起作用(已测试)functions.php
文件