我正在开发一个新的WordPress主题(因为像2.8一样触及了WP主题......)而且我试图制作一个改变我的行为的if / else语句顶部导航栏,取决于页面是否为front_page。
基本上我所追求的是如果页面是front_page,则显示徽标图像。如果页面是任何其他类型的页面,则显示一个带有公司名称的简单H1元素:
<li class="name">
<?php
if (is_front_page()) {
echo '<a href="<?php bloginfo("url"); ?>';
echo '<img src="' .bloginfo( "template_directory" ). '/images/logo-dsi.png" alt="DSI" />';
echo '</a>';
} else {
echo '<a href="' .home_url(). '">';
echo '<h1 class="logo">DSI</h1>';
echo '</a>';
}
?>
</li>
else语句工作正常。但是我的if语句没有正确生成img标签。它回应了文字bloginfo(&#39; template_directory&#39;)url,而不是将其插入到img src中,这就是我想要它做的事情。它试图在这个网址找到一个图像:localhost / images / logo-dsi.png
显然我在第5行的语法在某处是错误的,但我也不确定我是否以正确的方式解决这个问题。对于我想在这里完成的事情有没有更好的解决方案?
谢谢!
答案 0 :(得分:1)
后者是正确的
echo '<a href="<?php bloginfo("url"); ?>';
应该是
echo '<a href="' . bloginfo("url") . '">';
答案 1 :(得分:0)
我尝试了这个并且它有效:
<li class="name">
<a href="<?php bloginfo('url'); ?>">
<?php
if (is_front_page()) { ?>
<img src="<?php bloginfo('template_directory'); ?>/images/logo-dsi.png" alt="DSI" />
<?php
} else { ?>
<h1 class="logo">DSI</h1>
<?php } ?>
</a>
</li>
道歉,我应该再坚持一下了。但也许这会对其他人有所帮助。
我知道WordPress中的回声看起来很糟糕......; - )
此外,我确定有更好的方式来解决这个问题,但就目前而言,该代码可以解决问题。