当显示wordpress中的特定页面时,我将$_SESSION [‘showroom’]设置为’active’:
原文链接:https://www.f2er.com/php/136445.htmlif(get_the_ID()==6470||get_the_ID()==252){ $_SESSION['showroom']='active'; }
然后我设置2个页面数组进行检查.如果显示的下一页不在其中一个数组中,$_SESSION [‘showroom’]将变为’inactive’.
$allowed_templates = array('template-A.PHP','template-B.PHP','template-C.PHP','template-E.PHP','template-G.PHP'); $allowed_ids = array(6470,252); $template_name = get_page_template_slug(); $page_id = get_the_ID(); if(in_array($template_name,$allowed_templates)==false && in_array($page_id,$allowed_ids)==false){ $_SESSION['showroom']='inactive'; }
if语句大部分时间都有效,但有时我的$_SESSION [‘展厅’]会变为非活动状态,尽管其中一个数组返回true!经过几个小时的测试后,我无法找到问题所在.回应if语句的两个部分ALWAYS给了我2个trues或1个true 1 false,但从来没有2个falses:
if(in_array($template_name,$allowed_templates)==false){echo 'TFALSE';} if(in_array($template_name,$allowed_templates)){echo 'TTRUE';} if(in_array($page_id,$allowed_ids)==false){echo 'IFALSE';} if(in_array($page_id,$allowed_ids)){echo 'ITRUE';}
我在这里想念的是什么?
在此先感谢您的帮助!
编辑:继续测试,发现以下异常:
if(in_array($template_name,$allowed_ids)==false){ $_SESSION['showroom']='inactive'; echo 'SET TO INACTIVE'; }
if语句将$_SESSION [‘showroom’]更改为’inactive’,但不会回显’SET TO INACTIVE’!
这里有一些奇怪的事情!