PHP echo回答容易出问题;)

时间:2011-02-21 19:40:20

标签: php wordpress echo

好吧,它与Wordpress有关,我知道Wordpress Stack Exchange,但我在这里问,因为这主要是一个PHP问题。

我希望我的代码能够使用if语句显示某些内容。

问题是我将有一个变量和bloginfo('template_directory')in-bulit函数。

我写了这个:

    <?php if (!empty($instance['example'])) 

    echo "<li><a href=". $example ."><img src="?><?php bloginfo('template_directory') ?><?php echo "/images/example.png /></a></li>"; ?>   

它工作正常,直到$ instance ['example']不为空,什么时候 - 它仍然显示模板目录链接,包括images / example.png。

有什么想法吗?

我试过了。。bloginfo('template_directory')。“但似乎没有用。

6 个答案:

答案 0 :(得分:2)

如果没有大括号{}的语句只会评估其后的第一行。要解决此问题,

 <?php if (!empty($instance['example']))  {

echo "<li><a href=". $example ."><img src="?><?php bloginfo('template_directory') ?><?php echo "/images/example.png /></a></li>"; } ?> 

试一试,看看它是否适合您的需求。我所做的只是插入大括号,以便你的if语句涵盖你的所有参数。

答案 1 :(得分:1)

您忘记在if语句后添加:以生成if endif;块。或者,使用标准花括号将所有命令括在if语句中。

目前只检查{em>第一个 if命令的echo

答案 2 :(得分:0)

试试这段代码:

<?php if (!empty($instance['example'])) 

    echo "<li><a href=". $example ."><img src=".get_bloginfo('template_directory')."/images/example.png /></a></li>";
?>   

答案 3 :(得分:0)

试试这个

<?php if (!empty($instance['example'])) {

    echo "<li><a href=". $example ."><img src="?><?php bloginfo('template_directory') ?>
    <?php echo "/images/example.png /></a></li>"; 

   }
?>

答案 4 :(得分:0)

我个人使用。

<?php 
if( !empty( $instance['example'] ) )
    echo '<li><a href="' . $example . '"><img src="' . get_bloginfo('stylesheet_directory') . '/images/example.png" alt="" border="0" /></a></li>'; 
?>

首先,我们添加缺少的属性引号 其次,我们使用样式表路径来确保它指向子主题的正确位置 第三,我们调用get_bloginfo来获取echo语句的返回值 第四,我还在图像中添加了border="0",链接中的图像通常不需要边框,并且还添加了alt标记,因为它至少会帮助传递HTML验证,即使您将其留空

答案 5 :(得分:-1)

与其他答案相同,但格式化代码更好:

<?php 
if(!empty($instance['example']))
{
    echo '<li><a href=' . $example . '><img src=' . bloginfo('template_directory') . '/images/example.png /></a></li>'; 
}
?> 

添加括号,删除不必要的打开/关闭php标记,并将字符串转换为单引号,因为其中不包含需要处理的变量或特殊字符。