0

我在 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 不是很好,但我会很感激任何帮助。谢谢!

4

4 回答 4

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; ?>

查看控制结构的替代语法以获取更多信息。

当我们在这里时,打印与回声,哪个更快?

于 2012-08-09T03:34:07.163 回答
1

简单地:

<?php
      if ( member_is_logged_in() ) {
         print "Welcome $name";
      } else { ?>
         <a href="...">Login</a> | <a href="...">Register</a>
      <?php }
?>
于 2012-08-09T03:34:00.720 回答
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.
}
?>
于 2012-08-09T03:36:57.197 回答
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>";
      }
?>
于 2012-08-09T03:36:59.163 回答