PHP echo容易解决的问题;)
好的,这与Wordpress有关,我知道Wordpress堆栈交换,但我在这里问这个问题,因为这主要是一个PHP问题 我希望我的代码使用if语句显示某些内容或不显示任何内容 问题是在bulit函数中有一个变量和bloginfo('template_directory') 我写道:PHP echo容易解决的问题;),php,wordpress,echo,Php,Wordpress,Echo,好的,这与Wordpress有关,我知道Wordpress堆栈交换,但我在这里问这个问题,因为这主要是一个PHP问题 我希望我的代码使用if语句显示某些内容或不显示任何内容 问题是在bulit函数中有一个变量和bloginfo('template_directory') 我写道: <?php if (!empty($instance['example'])) echo "<li><a href=". $example ."><img src
<?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')”,但似乎不起作用。PHP如果语句中没有大括号{},则只会计算其后的第一行。为了解决这个问题,
<?php if (!empty($instance['example'])) {
echo "<li><a href=". $example ."><img src="?><?php bloginfo('template_directory') ?><?php echo "/images/example.png /></a></li>"; } ?>
试试看它是否适合你的需要。我所做的只是插入大括号,以便if语句跨越所有参数。您忘记在if语句之后添加
:
以生成if endif代码>块。或者,使用标准的花括号将所有命令括在if语句中
目前,它只检查第一个echo
命令的if
。请尝试以下代码:
<?php if (!empty($instance['example']))
echo "<li><a href=". $example ."><img src=".get_bloginfo('template_directory')."/images/example.png /></a></li>";
?>
试试这个
<?php if (!empty($instance['example'])) {
echo "<li><a href=". $example ."><img src="?><?php bloginfo('template_directory') ?>
<?php echo "/images/example.png /></a></li>";
}
?>
答案与其他答案相同,但代码格式更好:
<?php
if(!empty($instance['example']))
{
echo '<li><a href=' . $example . '><img src=' . bloginfo('template_directory') . '/images/example.png /></a></li>';
}
?>
添加括号,删除不必要的打开/关闭php标记,并将字符串转换为单引号,因为其中没有需要处理的变量或特殊字符。我个人会使用
<?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验证,即使您将其保留为空。您能显示实际生成的HTML吗?它有什么问题吗?请尝试在{和}中封装回音每个答案都遗漏了一件事(虽然从技术上来说可能不是必需的),那就是我一直在努力添加的内容,那就是HTML属性上的引号。每个答案都连在一起,但没有在属性周围加上额外的引号。确切地说,不需要大括号,我知道,只是不知道怎么做。顺便说一句,我做这件事的方式几乎和你一样,但没有起作用。我猜是打错了。无论如何谢谢你!这是因为“bloginfo”函数“回显”自身,但get_bloginfo却没有。它对其他函数也很有用,例如_titlex get _title和其他。。