我认为这只是一个PHP代码错误,但由于某种原因,下面的代码无法工作,它不断给我带来内部服务器错误500
<?php
$ajfl_adLuck = rand(1,3);
if ($ajfl_adLuck == 2) {
echo "<div id=\\"sidebar-awesome-container\\">";
echo "<div id=\\"sidebar-awesome-wrapper\\">";
echo "<img src=\\"" . bloginfo(\'template_url\'); . "/img/sample-ad-side.png\\" alt=\\"Sample Advertisement\\">";
echo "</div>";
echo "</div>";
} else {
echo "";
}
?>
基本上,我的网站略有不同,侧边栏位于WordPress循环中,因为它显示的不是类别和元数据的列表,而是帖子的信息。我想在侧边栏下显示一则广告,但不是在每一篇帖子上,比如说,只在其中三分之一的帖子上显示。
我想知道为什么我当前的代码不能工作。PHP非常陌生,所以我猜这是一个语法错误,但我已经研究了一个多小时,仍然找不到修复方法。
感谢您的帮助,无论是修复还是更好的方法
谢谢。
最合适的回答,由SO网友:Tom J Nowell 整理而成
echo "<img src=\\"" . bloginfo(\'template_url\'); . "/img/sample-ad-side.png\\" alt=\\"Sample Advertisement\\">";
您添加了一个分号,分号之后是一个新语句。
. "img/
etc不是有效的PHP,因此会出错。
此外,bloginfo不会返回它的值,它会打印它,因此您需要更改它以获取\\u bloginfo。
我建议您查看基本的PHP错误处理,以便查看错误日志。我还建议您使用适当的代码编辑器,以亮红色突出显示语法错误。Sublimitext/Komodo/PHPStorm/Netbeans等都可以做到这一点。语法错误是一个已解决的问题,您不必查找它们,它们应该由您的代码编辑器向您指出
SO网友:Sunyatasattva
这不是Wordpress的问题,但我认为这是sintax的错误
echo "<img src=\\"" . bloginfo(\'template_url\'); . "/img/sample-ad-side.png\\" alt=\\"Sample Advertisement\\">";
至
echo "<img src=\\"" . bloginfo(\'template_url\') . "/img/sample-ad-side.png\\" alt=\\"Sample Advertisement\\">";
如果串联字符串,则不使用分号。如果我敢的话,最好将字符串保存到变量中,然后
echo
变量本身;为了获得最佳可读性,请通过使用
.=
.