首页 文章

WP is_front_page并显示图像

提问于
浏览
0

我正在研究一个新的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行的语法在某处是错误的,但我也不确定我是否会以正确的方式进行此操作 . 对于我在这里想要完成的事情,有没有更好的解决方案?

谢谢!

2 回答

  • 0

    然而,后者是正确的

    echo '<a href="<?php bloginfo("url"); ?>';
    

    应该

    echo '<a href="' . bloginfo("url") . '">';
    
  • 1

    我尝试了这个并且它有效:

    <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中的回声看起来很糟糕...... ;-)

    此外,我确信有一个更漂亮的方式来写出来,但就目前而言,该代码可以解决问题 .

相关问题