好吧,它与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')。“但似乎没有用。
答案 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标记,并将字符串转换为单引号,因为其中不包含需要处理的变量或特殊字符。