Wordpress奇怪地回应网址

时间:2017-11-19 20:21:31

标签: php html wordpress

在代码的一部分中,我尝试显示菜单标题和相关的精选图片。

特色图片将成为<div>元素的背景,如下所示:

echo '<div style="width:100%;background-image:url("'.$thumbnail[0].'")"><h1>'. $menu->title .'</h1></div></a>';

我尝试过两种不同的获取网址的方法:

$image = get_the_post_thumbnail_url($menu->object_id, 'full');

$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $menu->object_id ), 'full' );

每当这些网址中的任何网址都被渲染到浏览器中时,网址就会完全出现乱码:

"http://localhost:8085/wp-content/uploads/D_DSC0130.png"

进入这个:

url(" http:="" localhost:8085="" wp-content="" uploads="" d_dsc0130.png")"="">

我没有看过任何关于类似事情的帖子或讨论。该站点托管在IIS中,并在PHP 7.1.7上运行。

我已尝试使用以下方法转义返回的值:

echo '<div style="width:100%;background-image:url("'.esc_url($thumbnail[0]).'")"><h1>'. $menu->title .'</h1></div></a>';

如果我回复此信息,则网址很好,图片会显示在页面上:

echo '<img src="'.esc_url($image).'" />';

如何更正div版本中的渲染值?

1 个答案:

答案 0 :(得分:0)

如果网址正在返回,那么您可能需要将其转义为正确输出

echo '<div style="width:100%;background-image:url("'.esc_url($thumbnail[0]).'")"><h1>'. $menu->title .'</h1></div></a>';