我对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”。
这是我得到的错误:
解析错误:语法错误,意外'&lt;'
谢谢!
答案 0 :(得分:4)
您可能无法嵌套<?php ?>
个标签。正确的代码是:
<?php
$author = get_the_author();
if ($author == "Joe Man") {
echo $author;
}
?>
实际上,可以完全跳过变量,将代码缩短为:
<?php
if (get_the_author() == "Joe Man") {
the_author();
}
?>
注意回声以打印出作者。
答案 1 :(得分:3)
看起来你正在使用wordpress,因此除了你的PHP-in-PHP错误之外,你的代码无论如何都不会工作,因为the_author()
调用只会输出数据,而不是返回它进行比较。你想要:
$author = get_the_author();
if ($author == "Joe Man") {
echo $author;
}
代替。作为一般规则,Wordpress中输出的任何函数都有一个get_...()
变量,它返回而不是输出。
答案 2 :(得分:1)
如果作者是“Joe Man”,则输出作者:
<?php
$author = the_author();
if($author == "Joe Man") {
echo $author;
}
?>