以下是我正在撰写的其中一个插件中的shortcodes.php文件的片段。
if($home_loop->have_posts()) {
switch($display) {
case "static":
while ($home_loop->have_posts()): $home_loop->the_post();
if(has_post_thumbnail() ) {
$content .= '<div class="parallax">';
$content .= get_the_post_thumbnail($post->ID, 'wrapper-wide', array('class' => "img-responsive"));
$content .= '</div>';
$content .= '<div class="container">';
$content .= get_the_content();
$content .= '</div>';
$content .= '<style>';
$content .= '.parallax{//css style here}';
$content .= '</style>;
} else {
//Something
}
endwhile;
break;
这很完美。如果我在我的家庭帖子中放置一个精选图片缩略图,它将显示在我的视差div中。我的问题是,而不是将缩略图放在div中,我希望它有background-image:url()。我在下面找到了这段代码
<?php
$background = get_field( 'background_image' );
if($background):
?>
<style>
.main-wrapper {
background-image: url(<?php echo $background ?>);
}
</style>
<?php endif; ?>
我如何在$ content中合并并运行这样的内容?我试图将图像作为背景图像的原因:url()是我可以添加特定的CSS样式,如背景位置,大小,重复,附件。
答案 0 :(得分:0)
为什么不直接在代码中添加图像作为背景图像? [wp_get_attachment_image_src] [1]将返回任何附件的网址,宽度和高度的数组。将其传递给精选图像的ID,并可灵活使用您想要的任何尺寸,而不仅仅是实际的特色图像尺寸。然后使用内联CSS将其作为背景。如果需要,可以在CSS表格中覆盖它。
($home_loop->have_posts()) {
switch($display) {
case "static":
while ($home_loop->have_posts()): $home_loop->the_post();
if(has_post_thumbnail() ) {
$post_thumnail_info = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'wrapper-wide' );
$content .= '<div class="parallax" style="background-image: url( \'' . $post_thumbnail_info[0] . '\' );">';