甚至不确定方法是否是正确的术语......
这是原始的工作代码:
<a href="<?php bloginfo('url'); ?>">
<img src="<?php bloginfo('stylesheet_directory'); ?>/images/logo.png" alt="Polished Logo" id="logo"/></a>
<img src="<?php bloginfo('stylesheet_directory'); ?>/images/separator.png" width="2" height="59" alt="Line" class="logo_line"/>
<p id="logo_title"><?php bloginfo('description'); ?></p>
我希望它只在主页上执行,所以我写了这个:
<?
if ( $_SERVER["REQUEST_URI"] == '/' ){
echo '<a href="'.bloginfo('url').'">
<img src="'.bloginfo('stylesheet_directory').'/images/logo.png" alt="Polished Logo" id="logo"/></a>
<img src="'.bloginfo('stylesheet_directory').'/images/separator.png" width="2" height="59" alt="Line" class="logo_line"/>
<p id="logo_title">'.bloginfo('description').'</p>';
}
?>
但它输出bloginfo()
和其他声明完全超出我创建的html标签。例如,对于bloginfo('stylesheet_directory')
,它将显示我创建的IMG
标记之外的目录。
有什么想法吗?显然我的语法不正确或者......
答案 0 :(得分:11)
bloginfo
函数直接回显输出。在这种情况下,您应该使用get_bloginfo
将返回的值添加到字符串中并回显完整的字符串。我相信这会起作用
<?php
if ( $_SERVER["REQUEST_URI"] == '/' ) {
echo '<a href="'.get_bloginfo('url').'">
<img src="'.get_bloginfo('stylesheet_directory').'/images/logo.png" alt="Polished Logo" id="logo"/></a>
<img src="'.get_bloginfo('stylesheet_directory').'/images/separator.png" width="2" height="59" alt="Line" class="logo_line"/>
<p id="logo_title">'.get_bloginfo('description').'</p>';
}
?>
这是一个更好的选择:
<?php if ( $_SERVER["REQUEST_URI"] == '/' ) { ?>
<a href="<?php bloginfo('url') ?>">
<img src="<?php bloginfo('stylesheet_directory') ?>/images/logo.png" alt="Polished Logo" id="logo"/>
</a>
<img src="<?php bloginfo('stylesheet_directory') ?>/images/separator.png" width="2" height="59" alt="Line" class="logo_line"/>
<p id="logo_title"><?php bloginfo('description') ?></p>
<?php } ?>
我还建议使用wordpress提供的is_home()
功能来检查主页,而不是检查$_SERVER['REQUEST_URI']
值。
答案 1 :(得分:0)
bloginfo()使用echo输出数据并且不返回任何内容,因此不是尝试连接所有内容,而是按顺序输出,例如
echo '<a href="';
bloginfo('url');
echo '"><img src="';
bloginfo('stylesheet_directory');
//etc...
丑陋我知道,但看看Nithesh的回答可能是另一种选择。
答案 2 :(得分:0)
如果您想获取模板路径而不通过bloginfo()函数自动回显它,请使用:
get_bloginfo( 'stylesheet_directory', 'display' )