我需要在变量中存储超链接图像,然后为我的WordPress网站回显该变量。我发现使用bloginfo(' template_directory')更方便,这样我就可以在本地服务器和实时服务器之间来回切换。
但变量中的bloginfo(' template_directory')不起作用,它什么都不显示。但是bloginfo(' template_directory')可以在我网站的其他区域使用。可能是什么问题?
CODE A有效。请注意URL中的127.0.0.1
<?php
$var = '<a href="http://www.twitter.com">
<img src="http://127.0.0.1/wp-content/themes/twentyfourteen/images/social/twitter.png" />
</a>';
echo $var;
?>
代码B不显示任何内容。为什么以下不起作用?请注意下面我使用的是bloginfo(&#39; template_directory&#39;)而不是127.0.0.1
<?php
$var = '<a href="http://www.twitter.com">
<img src="<?php bloginfo('template_directory'); ?>/images/social/twitter.png" />
</a>';
echo $var;
?>
编辑
CODE C如何替换&#34; twitter&#34;变量? (我指的是下面第3行,单词&#34; twitter&#34;位于img src中)
<?php
$var = '<a href="http://www.website.com">
<img src="' . get_bloginfo("template_directory") . '/images/social/twitter.png" />
</a>';
echo $var;
?>
答案 0 :(得分:1)
您无法在PHP标记中使用PHP标记:
只需连接字符串:
<?php
$var = '<a href="http://www.twitter.com">
<img src="' . get_bloginfo("template_directory") . '/images/social/twitter.png" />
</a>'; //↑ ↑ See here
echo $var;
?>
答案 1 :(得分:1)
你需要在var中使用get_bloginfo。在字符串中也不需要php标签。 http://codex.wordpress.org/Function_Reference/get_bloginfo
<?php
$var = '<a href="http://www.twitter.com"><img src="'. get_bloginfo('template_directory') .'/images/social/twitter.png" /></a>';
echo $var;
?>
还建议使用类似的东西代替儿童主题。 http://codex.wordpress.org/Function_Reference/get_template_directory_uri
<?php
$var = '<img class="svg " src="'. get_template_directory_uri() .'/images/social/twitter.png">'
echo $var;
?>
为了回应您的EDIT C代码块,我猜测您正在尝试遍历某些社交媒体图标链接。您可以这样做:
<?php
// Array of social sites
$sites = array(
'twitter',
'facebook',
'instagram'
);
// Loop through each
foreach($sites as $site){
$var = '<img src="'. get_template_directory_uri() .'/images/social/'. $site .'.png">';
echo $var;
}
?>
答案 2 :(得分:1)
请勿使用get_bloginfo( 'template_directory' )
以及用于子主题的get_bloginfo( 'stylesheet_directory' )
。这些用于早期的Wordpress版本。在后来的版本中,这些被“更换”了更合适的功能。
正确使用的函数是get_template_directory_uri()
用于父主题,get_stylesheet_directory_uri()
用于子主题。我建议您仔细阅读这些页面
至于你的语法,正如另一个答案中所解释的那样,你不能在不分离它们的情况下在同一个字符串中使用HTML和PHP。这是使用string operators完成的,您可以在提供的链接中阅读
您似乎需要添加社交媒体图标。如果是这样,请查看这两个帖子。特别阅读@toscho对我的问题所做的那一次。这应该可以帮助你解决一些问题
listing repeating social media buttons。花点时间在这个上面。这是一篇很棒的文章,在我刚刚开始时帮助我度过了很长时间