2016-04-23 49 views
0

我有一个代码如下:逃脱字符不工作在WordPress的PHP?

<div class="logo"> 
    <a href="<?php echo esc_url(home_url('/')); ?>"> 
     <?php 
     if(of_get_option('logo', true) != '') { 
      if(of_get_option('logo', true) == "http://1"){ 
       echo "<h1>".__('Logo','nature-one')."</h1>"; 
      } else { 
     ?> 
      <img src="<?php echo esc_url(of_get_option('logo', true)); ?>"/> 
     <?php } } else { ?> 
      <h1><?php bloginfo('name'); ?></h1> 
      <?php bloginfo('description'); ?> 
     <?php } ?> 
    </a> 
</div><!-- logo --> 

产生以下的输出:

<div class="logo"> 
    <a href="https://shuklaphanta-jungle-resort-shiwasreet.c9users.io/"> 
<h1>Shuklaphanta Jungle Cottage</h1> 
    Your Gateway to Shuklaphanta Wildlife Reserve                 </a> 
</div> 

我不能做转义字符的工作。 我该如何生产?

<h1 id="header-logo-h1>Something here</h1> 

as html?

+0

你可以格式化你的代码,以便它是可读的,好吗? – larsAnders

+1

@IarsAnders ..你的意思是,就像将代码**进一步向右移动一样,所以还有更多可爱的蓝色空间,更少被代码打断? – spencer7593

+0

@ spencer7593我从未注意到蓝色是多么美好。 – larsAnders

回答

1

你可以这样来做:

echo '<h1 id="header-logo-h1">'.$text.'</h1>'; 

或者逃避双引号:

echo "<h1 id=\"header-logo-h1\">".$text."</h1>"; 
+0

他没有为他的HTML使用'echo'语句,他正在用'?>'在脚本中返回原始文本输出模式。所以不需要转义字符。 – Barmar

0

你不需要做任何转义。只是改变这一行:

 <h1><?php bloginfo('name'); ?></h1> 

到:

 <h1 id="header-logo-h1"><?php bloginfo('name'); ?></h1>