我在woprdpress中遇到了一个带有$ _SESSION的奇怪问题,即我想清除所有页面上的会话变量,除了自定义帖子类型的单页 - 产品。
我使用条件:
if(!is_singular('product')) {
unset($_SESSION);
}
问题是会话在所有页面上都被清除,包括产品单页面。 if语句只是被忽略了。我尝试将它放在template_redirect挂钩中或只放在header.php文件中,这没关系。
我使用动作钩子启动会话:
function register_my_session() {
if( !session_id() ) {
session_start();
}
}
add_action('template_redirect', 'register_my_session', 9);
任何帮助将不胜感激。 提前致谢 RAF
答案 0 :(得分:0)
是的,我的意思是我想在用户使用时填写unset_session() 产品单页除外的页面
为什么不在产品页面以外的所有页面上翻转并触发?
if (!is_product())
unset($_SESSION);
过滤掉管理员:
if (!is_product() && !current_user_can('manage_options'))
unset($_SESSION);
仅限单页而非产品而非管理员:
if (is_single() && !is_product() && !current_user_can('manage_options'))
unset($_SESSION);