很抱歉问这么一个基本的问题,我已经看了其他问题,没有找到答案。我已经定制了一些公共页面,它们有自己的标题public。我正在页面的开头(header.php中的第1行)对所有其他页面进行基本的登录检查。其目的是将未标记的用户重定向到接收页面,在那里他们可以获得帮助、登录等。
只是a)它不会重定向,b)添加“退出;”按照建议,也会打断页面的其余部分。我尝试将其抽象为函数中的函数。php和它破坏了函数。php,所以现在Idunnowhatsgoingon。
代码如下:
if (is_user_logged_in())
{
echo \'loggedin\';
}
else
{
echo network_home_url( \'/receptionist\' );
wp_redirect( network_home_url( \'/receptionist\' ) );
exit;
}
健全性检查工作正常,响应“network\\u home\\u url”也工作正常-我可以复制并粘贴url,这会使页面运行良好。
有人对此有什么建议吗?当然,在我看来它应该可以工作:\\
编辑:根据Hansy的回答和我的回答,这是当前的代码。退出会被注释,因为它会破坏页面,我会在重定向工作时取消注释。
if (is_user_logged_in()){
die(); // edit - don\'t do this per Hansy\'s response, I misread what it does. My bad.
}
else {
wp_redirect( network_home_url( \'/receptionist\' ) );
/* exit; */
}
我也尝试过:if(!is\\u user\\u logged\\u in()){wp\\u redirect(network\\u home\\u url(“/前台”);/*exit;*/},因为这会在重定向之前尽可能多地消除。
我开始觉得这个主题有些不确定,因为这应该行得通。
编辑2:我的服务器有一个安全包,PHP安全模式已打开。PHP配置中是否有任何内容会影响此功能?
编辑3:这是主题。我切换回2011年,重新设置,效果很好。以Charles Babbage的名义,主题开发人员可以做些什么来打破核心模板标签?他们不再在学校里教授演示、逻辑和数据的分离了吗?天啊。以下是有效的代码,供参考。我也会试试Hansy的升级版解决方案。
if (!is_user_logged_in() )
{
wp_redirect( network_home_url( \'/receptionist\' ) );
exit;
}