PHP函数返回=“”而不是/

时间:2019-08-15 10:33:52

标签: php html css wordpress

我有一个wordpress实例,我想通过php函数将背景图像内嵌到html标签中。

html是:

<div id="content" class="site-content" <?php echo get_background_for_single(get_the_ID(), is_single()); ?>>

上面的html和php在浏览器中具有以下输出:

<div id="content" class="site-content" style="background-image: url(" http:="" localhost="" wiese="" wp-content="" uploads="" 2019="" 06="" test.jpg");="">

在functions.php中,我得到了:

function get_background_for_single($ID, $single) {

    if ($single == 1) {
        return 'style="background-image: url("' . get_the_post_thumbnail_url($ID) . '");';
    }
}

如果我按如下所示控制段落中的输出,则显示正确:

<p><?php echo get_background_for_single(get_the_ID(), is_single()); ?><p>

它返回一个p标签:

style="background-image: url("http://localhost/wiese/wp-content/uploads/2019/06/test.jpg");

该函数为什么返回“ =”“而不是” /“?也许这是一个转储错误,但我看不到我的错误。

1 个答案:

答案 0 :(得分:0)

将我的功能更改为以下方法:

function get_background_for_single($ID, $single) {

    if ($single == 1) {
        return 'style="background-image: url(&quot;' . get_the_post_thumbnail_url($ID) . '&quot;);"';
    }
}