我试图做一些自定义片段为我的WordPress网站.我已经做了几个,这一个出于某种原因是不工作.我使用我的网站上的Formidable表单注册用户,并在注册时有一个自定义的Meta字段创建称为“信息”和值设置为“否”.此字段仅当用户创建一个条目在我的客户-info表单。然后将Meta值更改为“yes”。
这段代码是为了迫使他们在登录时填写信息表单并将其引导到该页面,但由于某种原因,我从用户Meta中获得的值是“no”。这是错误的。有什么想法吗?我使用的代码:
function my_logged_in_redirect() {
$userid = get_current_user_id();
$info = get_user_meta($userid, 'info', true);
$loggedin = is_user_logged_in();
if (is_page(1795)){
if ($loggedin == true && $info = 'no'){
wp_redirect(home_url('/dashboard/account-information'));
}
else if ($loggedin == true && $info = 'yes'){
wp_redirect(home_url('/dashboard'));
}
else if ($loggedin == false){
wp_redirect(home_url());
}
}
}
add_action( 'template_redirect', 'my_logged_in_redirect' );
字符串
2条答案
按热度按时间i2byvkas1#
我认为你的if语句可能是错误的。
if ($loggedin == true && $info = 'no'){
应改为
if ($loggedin == true && $info == 'no'){
这个
else if ($loggedin == true && $info = 'yes'){
此
else if ($loggedin == true && $info == 'yes'){
你的代码看起来没有错,除了这些点^。看起来像
$info
可能有正确的值,但只是if语句不正确。nkoocmlb2#
您的代码不正确。比较两个值的操作在php中使用
==
和===
完成。这个代码是正确的:
字符串
有关详细信息,请参阅此链接
https://www.w3schools.com/php/php_operators.asp