我在Wordpress中有一个PHP文件,它有一些HTML,“登录和注册”,我只想在网站成员没有登录时显示。当他们登录时,我希望它显示“欢迎,[名字]。”
我只是不确定如何在PHP If语句中使用HTML。条件是:
<?php
if ( member_is_logged_in() ) {
print "Welcome [name]";
} else {
print "<a href="...">Login</a> | <a href="...">Register</a>";
}
?>
这就是我认为它应该看起来的样子,但它不起作用。我用PHP不是那么好,但我会感激任何帮助。谢谢!
答案 0 :(得分:3)
您可以在双引号字符串中使用PHP变量。所以只需用$ name或变量替换[name]。请注意,这将不使用单引号。
另外,在else的情况下你有两组双引号。这将导致语法错误。使其中一个单引号或逃避内部引号。
<?php
if ( member_is_logged_in() ) {
print "Welcome $name";
} else {
print '<a href="...">Login</a> | <a href="...">Register</a>';
}
?>
您也可以直接结束PHP标记并直接编写HTML。
<?php
if ( member_is_logged_in() ) {
print "Welcome $name";
} else {
?>
<a href="...">Login</a> | <a href="...">Register</a>
<?php
}
?>
对此有一种更好,更容易阅读的语法:
<?php if(<your evaluation here>): ?>
HTML for when true
<?php else: ?>
HTML for when false
<?php endif; ?>
查看Alternative syntax for control structures了解更多相关信息。
虽然我们正在进行,print vs echo, which one is faster?
答案 1 :(得分:1)
简单地:
<?php
if ( member_is_logged_in() ) {
print "Welcome $name";
} else { ?>
<a href="...">Login</a> | <a href="...">Register</a>
<?php }
?>
答案 2 :(得分:1)
如果您可以使用wordpress,请尝试以下代码:
见Utl: - http://codex.wordpress.org/Function_Reference/wp_get_current_user
例如:要确定当前是否有用户登录,请执行以下操作:
<?php
$current_user = wp_get_current_user();
if ( 0 == $current_user->ID ) {
// Not logged in.
} else {
// Logged in.
}
?>
答案 3 :(得分:0)
试试这个代码块,让我知道---
<?php
if ( member_is_logged_in() ) {
global $display_name;
get_currentuserinfo();
print "Welcome ".$display_name;
} else {
print "<a href="...">Login</a> | <a href="...">Register</a>";
}
?>