高级自定义字段获取子字段幻灯片图像

时间:2016-05-06 21:42:47

标签: php wordpress wordpress-plugin wordpress-theming

当我使用这种类型的代码时

<?php echo get_sub_field('slide_image')['url']; ?>
然后它给了我一个

  

解析错误:语法错误,意外&#39; [&#39;,期待&#39;,&#39;或&#39;;&#39;在   /home/sites/xyz.com/public_html/wp-content/themes/abc/partials/banner-images.php   第9行

这种错误所以我能在这种情况下做些什么。我的总代码低于

<?php if(have_rows('banner_slides')): // if have rows ?>

    <div class="slideshow slideshow--banner" data-palm="palm-hidden">

        <span id="prev" class="cycle-prev"><</span>

        <?php while ( have_rows('banner_slides') ) : the_row(); // Loop through slides ?>

            <div class="slideshow__slide" style="background-image: url(<?php echo get_sub_field('slide_image')['url']; ?>);">

2 个答案:

答案 0 :(得分:0)

这取决于子字段的返回类型(您可以在编辑子字段时设置此项)。它将由数组,图像URL或图像ID组成。

如果它是一个数组:

$img = get_sub_field('slide_image');
<div class="slideshow__slide" style="background-image: url(<?php echo $img['url']; ?>);">

如果是网址:

$img = get_sub_field('slide_image');
<div class="slideshow__slide" style="background-image: url(<?php echo $img; ?>);">

如果它是一个id:

$img = get_sub_field('slide_image');
<div class="slideshow__slide" style="background-image: url(<?php echo get_permalink($img); ?>);">

答案 1 :(得分:0)

对象:

$img = get_field('slide_image');

<div class="slideshow__slide" style="background-image: url(<?php echo $img['url']; ?>);">

URL:

<?php if( get_field('slide_image') ): ?>        
      <div class="slideshow__slide" style="background-image: url(<?php the_field('slide_image'); ?>);">
<?php endif; ?>

ID:

<?php 

$img = get_field('slide_image');

$size = 'full';

if( $img ) {

    <div class="slideshow__slide" style="background-image: url(<?php echo wp_get_attachment_image( $img, $size ); ?>);">

}

?>