php - wp_redirect 导致“无法修改标头信息”
问题描述
我试图通过添加以下内容来限制未登录的用户访问网站上的某些页面:
if (!is_user_logged_in()) {
wp_redirect(esc_url(site_url('/')));
exit();
}
但它会产生错误
无法修改标头信息。
看截图
解决方案
你把你的代码放在哪里了?
尝试将其添加到您的 functions.php 文件中。
add_action('init', 'check_for_user_logged_in');
function check_for_user_logged_in()
{
if (!is_user_logged_in()) {
$currentUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$redirectUrl = site_url('/');
if ($currentUrl != $redirectUrl) {
wp_redirect($redirectUrl);
die();
}
}
}
推荐阅读
- excel - 将三列中具有相同数据的单元格合并为一行的vba问题
- google-cloud-run - 容器管理器在信号 9 上保持终止容器
- sql - 在选择查询中使用 DISTINCT 时出现错误
- r - 如何将数值转换为日期值
- r - R Studio 没有在我的电脑上使用最新的 R 版本
- jenkins - 如何将 jenkins 管道测试结果导入 ReportPortal.io 实例?
- ios - IOS应用中通过coinbase-ios-SDK转换货币和转账
- reactjs - 需要时未调用 React componentDidUpdate
- java - Springboot:防止通过 Resttemplate 对 % 进行双重编码
- cmd - 如何使用 cmd 获取任何已安装程序的版本号?