-1

我对 PHP 的经验为零。我运行一个 wordpress 站点,并试图对代码进行一个简单的修改。这就是我所拥有的:

    <?php
    if(<?php the_author() ?> == "Joe Man")
    {
    <?php the_author() ?>
    }
    ?>

我相信所有变量都以 $ 开头,所以我上面的 if 语句不是变量。我该怎么办?我还尝试创建一个变量,如下所示:

    <?php
    $author = <?php the_author() ?>
    if($author == "Joe Man")
    {
    <?php the_author() ?>
    }
    ?>

以上都不起作用。所以我的问题是我怎样才能得到那个 if 语句来评估?我需要的是如果 the_author 是“Joe Man”,则字符串“Joe Man”会显示在我的页面上。

这是我得到的错误:

解析错误:语法错误,意外的 '<'

谢谢!

4

3 回答 3

4

您不能嵌套<?php ?>标签。正确的代码是:

<?php
    $author = get_the_author();
    if ($author == "Joe Man") {
        echo $author;
    }
?>

实际上,可以完全跳过该变量,将代码缩短为:

<?php
    if (get_the_author() == "Joe Man") {
        the_author();
    }
?>

注意 echo 打印出作者。

于 2011-10-15T23:19:42.363 回答
3

看起来你正在使用 wordpress,所以除了你的 PHP-in-PHP 错误之外,你的代码无论如何都不会工作,因为这两个the_author()调用都会简单地输出数据,而不是返回它进行比较。你会想要:

$author = get_the_author();
if ($author == "Joe Man") {
   echo $author;
}

反而。作为一般规则,Wordpress 中任何输出的函数都有一个get_...()返回而不是输出的变体。

于 2011-10-15T23:34:11.583 回答
1

如果作者是“乔曼”,则输出作者:

<?php
  $author = the_author();
  if($author == "Joe Man") {
    echo $author;
  }
?>
于 2011-10-15T23:21:24.147 回答