ACF中继器字段没有结果

时间:2014-09-05 12:11:08

标签: php wordpress advanced-custom-fields

我有一个安装了ACF转发器字段的WordPress站点。我已经按照视频教程了解并尝试了网站上的每个版本的模板代码示例,但我根本无法显示任何内容,没有任何内容。

我的转发器字段名称'carousel_images',它有3个子字段,'图像','标题'和'文字'。

有人可以帮忙吗?我只是想在我的主页上的前端显示这些字段,这是一个使用'front-page.php'模板的静态页面。

我的代码:

<?php if(get_field('carousel_images')): ?>
    <div>
        <?php while(has_sub_field('carousel_images')): ?>
            <img src="<?php the_sub_field('image'); ?>">
            <div class="caption">
                <h3><?php the_sub_field('headline'); ?></h3>
                <p><?php the_sub_field('text'); ?></p>
                <a href="#" class="hero-button" data-reveal-id="loginModal">Login <span><i class="fa fa-user"></i></span></a>
                <a href="#" class="hero-button" data-reveal-id="registerModal">Register <span><i class="fa fa-check-square"></i></a>
            </div>
        <?php endwhile; ?>
    </div>
<?php endif; ?>

编辑1 我的转发器字段在自定义帖子类型中,所以在我尝试显示转发器字段之前,我必须使用WP_Query来显示自定义帖子类型。修改后的工作代码。

再次感谢。

<?php

    $args = array(
        'post_type' => 'home_carousel_image'
    );

    $the_query = new WP_Query( $args );
?>


<!-- WP_Query WordPress loop -->
<?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

    <?php if(get_field('carousel_images')): ?>
        <?php while(has_sub_field('carousel_images')): ?>
        <div>
            <img src="<?php the_sub_field('image'); ?>">
            <div class="caption">
                <h3><?php the_sub_field('headline'); ?></h3>
                <p><?php the_sub_field('text'); ?></p>
                <a href="#" class="hero-button" data-reveal-id="loginModal">Login <span><i class="fa fa-user"></i></span></a>
                <a href="#" class="hero-button" data-reveal-id="registerModal">Register <span><i class="fa fa-check-square"></i></span></a>
            </div>
        </div>
        <?php endwhile; ?>
    <?php endif; ?>

<?php endwhile; else: ?>

    <!-- Displayed if no posts or pages are available -->
    <p>There are no posts or pages here!</p>

<?php endif; ?>

2 个答案:

答案 0 :(得分:1)

我的转发器字段位于自定义帖子类型中,因此在尝试显示转发器字段之前,我必须使用WP_Query来显示自定义帖子类型。修改后的工作代码。

再次感谢。

<?php

    $args = array(
        'post_type' => 'home_carousel_image'
    );

    $the_query = new WP_Query( $args );
?>


<!-- WP_Query WordPress loop -->
<?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

    <?php if(get_field('carousel_images')): ?>
        <?php while(has_sub_field('carousel_images')): ?>
        <div>
            <img src="<?php the_sub_field('image'); ?>">
            <div class="caption">
                <h3><?php the_sub_field('headline'); ?></h3>
                <p><?php the_sub_field('text'); ?></p>
                <a href="#" class="hero-button" data-reveal-id="loginModal">Login <span><i class="fa fa-user"></i></span></a>
                <a href="#" class="hero-button" data-reveal-id="registerModal">Register <span><i class="fa fa-check-square"></i></span></a>
            </div>
        </div>
        <?php endwhile; ?>
    <?php endif; ?>

<?php endwhile; else: ?>

    <!-- Displayed if no posts or pages are available -->
    <p>There are no posts or pages here!</p>

<?php endif; ?>

答案 1 :(得分:0)

您的转发器不正确。转发器是一排。

<?php if (have_rows('carousel_images')): ?>
    <div>
        <?php while (have_rows('carousel_images')): the_row(); ?>
            <img src="<?php the_sub_field('image'); ?>">
            <div class="caption">
                <h3><?php the_sub_field('headline'); ?></h3>
                <p><?php the_sub_field('text'); ?></p>
                <a href="#" class="hero-button" data-reveal-id="loginModal">Login <span><i class="fa fa-user"></i></span></a>
                <a href="#" class="hero-button" data-reveal-id="registerModal">Register <span><i class="fa fa-check-square"></i></a>
            </div>
        <?php endwhile; ?>
    </div>
<?php endif; ?>
相关问题