这是我的if语句。我试图有两个不同的选择。一种是用户登录,另一种是当然不是。 对于我的生活,我无法让这些工作。这是一个Word Press网站..这里的任何帮助都会很棒。这就是我所拥有的。
<div class="btn btn-success">
<?php if( ! is_user_logged_in()): ?>
<a href="<?php echo $submit_question_link ?>"<?php _e('Ask a question','dwqa') ?></a>
} else {
<?php add_modal_login_button( $login_text = 'Login to Ask a Question', $logout_text = 'Logout', $logout_url = '', $show_admin = false ); ?><?php endif; } ?>
</div>
谢谢大家。没有你的代码有效,但你们,女孩们真的帮助我朝着正确的方向前进。无论如何,这对我有用。
“class =”btn btn-success“&gt;答案 0 :(得分:5)
您正在混合the two variations of if
,即使:
不支持在同一控制块中混合语法。
它可以是
if (condition) :
...
else :
...
endif;
或
if (condition) {
...
}
else {
...
}
选择一个并使用它。
答案 1 :(得分:1)
您使用if
启动':'
结构..然后将其更改为'{'
或'}'
有关详细信息,请阅读此http://www.php.net/manual/en/control-structures.alternative-syntax.php。
以下是解决方案:
<div class="btn btn-success">
<?php if( ! is_user_logged_in()): //start condition ?>
<a href="<?php echo $submit_question_link ?>"<?php _e('Ask a question','dwqa') ?></a>
<?php else: // else ?>
<?php add_modal_login_button( $login_text = 'Login to Ask a Question', $logout_text = 'Logout', $logout_url = '', $show_admin = false ); ?>
<?php endif; //close 'if' condition ?>
</div>
答案 2 :(得分:1)
is_user_logged_in()
会为登录用户返回true
。所以它会是这样的:
<?php
if( is_user_logged_in() ):
?>
<a href="<?php echo $submit_question_link ?>"<?php _e('Ask a question','dwqa') ?></a>
<?php
else:
add_modal_login_button( $login_text = 'Login to Ask a Question', $logout_text = 'Logout', $logout_url = '', $show_admin = false );
endif;
?>
答案 3 :(得分:1)
<div class="btn btn-success">
<?php if( ! is_user_logged_in()): ?>
<a href="<?php echo $submit_question_link ?>"<?php _e('Ask a question','dwqa') ?></a>
<? else: ?>
<?php add_modal_login_button( $login_text = 'Login to Ask a Question', $logout_text = 'Logout', $logout_url = '', $show_admin = false ); ?><?php endif; ?>
</div>
你的语法完全错误。您的} else {
甚至不在PHP标记中,并且您使用的alternative语法不需要大括号。
答案 4 :(得分:0)
尝试没有:在你的背后。
你错过了if {
,因为你有一个结束。
并且您不需要endif;
,因为来自else部分的结束}
将结束if。
<div class="btn btn-success">
<?php if( ! is_user_logged_in()) { ?>
<a href="<?php echo $submit_question_link ?>"<?php _e('Ask a question','dwqa') ?></a>
<?php } else {
add_modal_login_button( $login_text = 'Login to Ask a Question', $logout_text = 'Logout', $logout_url = '', $show_admin = false );
} ?>
</div>
答案 5 :(得分:0)
<?php if( ! is_user_logged_in()): ?>
<a href="<?php echo $submit_question_link ?>"<?php _e('Ask a question','dwqa') ?></a>
else :
<?php add_modal_login_button( $login_text = 'Login to Ask a Question', $logout_text = 'Logout', $logout_url = '', $show_admin = false ); ?><?php endif; >
</div>
如果您的声明与:
一起使用,则无法使用大括号。
正确的方式:
if {} else {}
if : else : endif ;
答案 6 :(得分:0)
你的语法错误。 改变:
} else {
到
<?php else : ?>
但是,重写整个事情会更好:
<?php
$btn = '<div class="btn btn-success">';
if(is_user_logged_in() !== true) {
//logic here
$btn .= '<a href="blahblah...';
} else {
//else logic here
$btn .= 'blah blah, else logic here';
}
?>
答案 7 :(得分:0)
代码可以是这样的
<div class="btn btn-success">
<?php if( ! is_user_logged_in()): ?>
<a href="<?php echo $submit_question_link ?>"<?php _e('Ask a question','dwqa') ?></a>
<? else: ?>
<?php add_modal_login_button( $login_text = 'Login to Ask a Question', $logout_text = 'Logout', $logout_url = '', $show_admin = false ); ?><?php endif; ?>
</div>
答案 8 :(得分:0)
您遇到语法错误。试试这段代码
<div class="btn btn-success">
<?php if( ! is_user_logged_in()): ?>
<a href="<?php echo $submit_question_link ?>"<?php _e('Ask a question','dwqa') ?></a>
<?php else:
add_modal_login_button( $login_text = 'Login to Ask a Question', $logout_text = 'Logout', $logout_url = '', $show_admin = false );
endif;
?>
</div>