2012-04-24 83 views
-3

遇到此If If语句有问题。我可以在没有语句的情况下显示徽标,因此所有内容都可以正确显示,但是当我将If Else语句放入时,它不会显示徽标或H1标题。If Else Statement with logo in WordPress主题

在此先感谢您的帮助。

<?php if ($options['flaunt_one_logo'] != '') : ?> 
     echo <a href="<?php bloginfo('url')?>/" class="<?php logo_container_class(); ?>"><img src="<?php echo get_option('flaunt_one_logo'); ?>" alt="<?php bloginfo('name')?>" /> 
    else 
     echo <h1 id="site-title"><span><a href="<?php echo esc_url(home_url('/')); ?>" title="<?php echo esc_attr(get_bloginfo('name', 'display')); ?>" rel="home"> <?php bloginfo('name'); ?></a></span></h1>; 

    <?php endif; ?> 

回答

1

你的回声超出了php代码。 http://php.net/manual/en/control-structures.if.php

<?php if ($options['flaunt_one_logo'] != '') { 
     echo "<a href=\"".bloginfo('url')."\" class=\"".logo_container_class()."\"><img src=\"".get_option('flaunt_one_logo')."\" alt=\"".bloginfo('name').">"; 
} else { 
     echo "<h1 id=\"site-title\"><span><a href=\"".esc_url(home_url('/'))."\" title=\"".esc_attr(get_bloginfo('name', 'display'))."\" rel=\"home\">".bloginfo('name')."</a></span></h1>"; 
} 
?> 
+0

谢谢你闭上你的第一<a>。我将不得不花费一些时间在它上面。 使用您提供的代码,我可以让H1出现,但徽标没有显示。目前在选项中设置了一个标志,所以应该显示。 有什么想法? – 2012-04-24 22:42:50

+0

我也注意到H1没有抓住CSS规则,只是保持小段,就好像它是段落文本。 – 2012-04-24 22:49:07

+0

get_option是你声明的一个函数吗?不确定Wordpress是如何工作的。尝试使用$ options ['flaunt_one_logo']而不是get_option('flaunt_one_logo')。 – Joseph 2012-04-24 22:51:00

0

试试这个:

在IF语句也读了
你还忘了一个</a>

<?php if (get_option('flaunt_one_logo', false) !== false) : ?> 
    <a href="<?php bloginfo('url')?>/" class="<?php logo_container_class(); ?>"> 
     <img src="<?php echo get_option('flaunt_one_logo'); ?>" alt="<?php bloginfo('name')?>" /> 
    </a> 
<?php else ?> 
    <h1 id="site-title"> 
     <span> 
      <a href="<?php echo esc_url(home_url('/')); ?>" title="<?php echo esc_attr(get_bloginfo('name', 'display')); ?>" rel="home"> 
      <?php bloginfo('name'); ?> 
      </a> 
     </span> 
    </h1>; 
<?php endif; ?>