PHP HTML 样式属性中的代码(或被引号混淆)

PHP code within HTML style attribute (or Confused by quotes)

我完全不知道我应该在这一行中使用 PHP 代码的方式:

<div class="post-img" style="backgroung-image:url(' <?php echo $thumbnail[0] ?> ')"></div>

在我看来,它在我的示例中被阅读为文本。 我也尝试过另一种方法,但出于同样的原因也没有奏效,我相信...

<?php echo '<div class="post-img" style="backgroung-image:url(' . $thumbnail[0] . ')"></div>' ?>

$thumbnail 变量包含 link 到 Wordpress post:

的主图像
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post_id ) );

请给我一个建议,我怎样才能将动态 link 应用到 Wordpress post 图像?

试试这个

<div class="post-img" style="backgroung-
image:url('<?php
wp_get_attachment_image_src(
get_post_thumbnail_id($post_id )[0] ); ?>')">
</div>

一些WordPress函数直接显示字符串。无需附和。

如果您的 div 没有内容,那么您必须像这样在 CSS 中添加高度:

<div class="post-img" style="background:url('<?php echo $thumbnail[0]; ?>')no-repeat; height:200px;">

一般,结果是这样的,

array{
    [0] => url,
    [1] => width</em>
    [2] => height</em>
    [4] => is_intermediate
}

你可以这样做

<?php echo '<div class="post-img" style="backgroung-image:url(' . $thumbnail[0] . ') . $thumbnail[2] ."></div>' ?>

ADyson 和 Nobita 在对我的问题的评论中给了我解决方案,即:

echo '<div class="post-img" style="background-image:url(\'' . $thumbnail[0] . '\')"></div>';