首页 文章

PHP使用嵌入式HTML标记中的URL做奇怪的事情

提问于
浏览
0

我在PHP / HTML页面上的for循环的每次迭代开始时生成一些URL,如下所示:

if ($chart_track->positionchange == 0) {
    $position_change_image = bloginfo('template_directory') . "/images/equal.png";
}
else if ($chart_track->positionchange > 0) {
    $position_change_image = bloginfo('template_directory') . "/images/up.png";
}
else {
    $position_change_image = bloginfo('template_directory') . "/images/down.png";
}

然后我将$ position_change_image回显到img标签的src属性中,如下所示:

<img src="<?php echo $position_change_image; ?>" class="position-image">

这会创建一个断开的链接并以纯文本形式输出URL的基础(template_directory部分) . 在检查img src时,它只有最后一部分,即/images/up.png . 我尝试在esc_url函数中包装$ position_change_image,但这也不起作用 . 当我在其他地方回显$ position_change_image的实际值时,它就是完整的URL . 为什么以上帝的名义被分解并输出这样的?

1 回答

  • 2

    多数民众赞成因为你正在呼叫回声两次,因为bloginfo回声自动!

    而是使用get_bloginfo .

    Bloginfo Docs:

    显示有关您站点的信息,主要从您在用户配置文件和常规设置WordPress管理屏幕中提供的信息中收集 . 它可以在模板文件中的任何位置使用 . 这总是会将结果打印到浏览器 . 如果需要在PHP中使用的值,请使用get_bloginfo() .

相关问题