【发布时间】:2021-09-29 22:34:32
【问题描述】:
我在WordPress中写了一个PHP代码sn-p,如下:
<td><?php echo '<!-- 2021-09-29: Replace Font Awesome tag <i class="fas fa-cloud-download-alt"></i> with the SVG sprite, to improve performance. -->
<svg class="my-svg-inline--fa my-fa-w-20">
<use href="' . bloginfo('template_directory') . '/images/icons/icons.svg#cloud-download-alt"/>
</svg><a download-link="'.site_url( '/' ).$post->post_name.'-download-thanks" href="'.$link_url.'" class="download-url"> Download</a>' ?></td>
我希望 bloginfo('template_directory') 会被插入到 href 中,如下所示:
<td><svg class="my-svg-inline--fa my-fa-w-20">
<use href="https://www.example.com/wp-content/themes/mytheme/images/icons/icons.svg#cloud-download-alt"/>
</svg><a download-link="xxx" href="xxx" class="download-url"> Download</a></td>
但实际输出是:
<td>https://www.example.com/wp-content/themes/mytheme
<svg class="my-svg-inline--fa my-fa-w-20">
<use href="/images/icons/icons.svg#cloud-download-alt"/>
</svg><a download-link="xxx" href="xxx" class="download-url"> Download</a></td>
bloginfo('template_directory')生成的路径放在PHP echo生成的字符串之前,为什么?
更新
很抱歉错过了函数bloginfo 的相关信息。我会尝试get_bloginfo 并更新这篇文章。
【问题讨论】:
-
我的猜测是
bloginfo()正在回显它的结果而不是返回它。 -
我同意@Barman,有一个专门的函数来获取值:developer.wordpress.org/reference/functions/get_bloginfo
-
@Philippe,非常感谢。使用get_bloginfo后,问题解决了。
-
读起来很高兴 :) 编码愉快!
标签: php