>我正在研究一个新的 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('template_directory') url,而不是将其插入 img src,这就是我希望它做的事情。它试图在这个网址上找到一个图像:localhost/images/logo-dsi.png
显然,我在第 5 行的语法在某处是错误的,但我也不确定我是否以正确的方式做到这一点。对于我在这里要完成的任务,有没有更好的解决方案?
谢谢!
然而后者是正确的
echo '<a href="<?php bloginfo("url"); ?>';
应该是
echo '<a href="' . bloginfo("url") . '">';
我试过了这个,它奏效了:
<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中的回声看起来很糟糕是有原因的... ;-)
另外,我确信有一种更漂亮的方法来写出来,但是就目前而言,该代码可以解决问题。