【问题标题】:wordpress advanced custom fields background imagewordpress 高级自定义字段背景图片
【发布时间】:2015-11-26 11:00:01
【问题描述】:

我正在尝试设置通过自定义字段插件上传的图像并将其显示为 div 的背景(用于滑块)。

但是图像没有显示...我在自定义字段中有文本并且显示正常,所以我认为这与我用来拉入图像的代码行有关。

我正在尝试使用图像设置 .slide1 的背景。

自定义字段名称为 slide1_background。

HTML:

<div class="slide1" style="background-image:url('<?php the_field('slide_bg1'); ?>');">
<div class="slide1-cont"><p class="slide-text">
<h1><?php the_field('slide_title1'); ?></h1>
<img src="<?php bloginfo('template_directory')?>/images/line.png" /></p>
<p><?php the_field('slide_content1'); ?></p></div>
</div>

CSS:

.slide1{
background-repeat:no-repeat;
background-size:cover;
background-position:center;
height: 800px;
}

【问题讨论】:

    标签: php css wordpress background-image custom-fields


    【解决方案1】:

    查看您在问题中尝试设置背景图像的代码与您在另一个答案中将其设置为图像源的评论中的代码之间的差异。

    the_field('slide_bg1') 返回一个数组,因此您尝试将背景图像源设置为 PHP 数组,该数组将转换为字符串为“数组”,因此在您的 HTML 中它看起来像:background-image:url('Array')

    需要先获取该字段,然后回显返回数组的url元素作为背景图片的来源:

    $image = get_field( 'slide_bg1' );
    if ( !empty( $image ) ) { ?>
        <div class="slide1" style="background-image:url('<?php echo $image['url']; ?>');">
    <?php }
    

    【讨论】:

    • 通过将 div 包装在您提供的代码中使其工作。非常感谢!
    • 我在顶部看到似乎是图像名称的文字...我认为这可能是一个错误? imgur.com/7wU6W7u 57, , 2f91dc29201043.55e72a3cc8810, , , image/jpeg, localhost:1337/kite/wp-content/uploads/2015/11/…, 1200, 1200, Array');
    • 这似乎是在呼应数组的每个元素。我在上面发布的代码仅与 url 元素相呼应,这是设置背景图像所必需的
    【解决方案2】:

    使用echo

    &lt;div class="slide1" style="background-image:url('&lt;?php echo the_field('slide_bg1'); ?&gt;');"&gt;

    【讨论】:

    • 还是没有运气。当我检查元素时,它看到那里有一个图像,但它没有显示。当我在新选项卡中打开图像链接而不是打开图像时,它会再次打开主页...
    • 在浏览器上准备它,以便图像可见,然后尝试在上面的代码中克隆它。
    • 当我使用此代码时,我可以显示图像,但是当我将 div 包装在此代码中并将图像移动到我想要的样式时,它不会显示 " alt="" />
    猜你喜欢
    • 1970-01-01
    • 2016-04-15
    • 2012-09-02
    • 1970-01-01
    • 2017-08-28
    • 2012-08-10
    • 2015-01-21
    • 2017-05-01
    • 1970-01-01
    相关资源
    最近更新 更多