在代码的一部分中,我尝试显示菜单标题和相关的精选图片。
特色图片将成为<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
版本中的渲染值?
答案 0 :(得分:0)
如果网址正在返回,那么您可能需要将其转义为正确输出
echo '<div style="width:100%;background-image:url("'.esc_url($thumbnail[0]).'")"><h1>'. $menu->title .'</h1></div></a>';