ACF:显示一个子字段列表并在另一个div中显示相应的子字段?

时间:2015-02-05 22:56:25

标签: php wordpress advanced-custom-fields

使用ACF(高级自定义字段),我设置了一个包含两个子字段(slides)和(title)的字段(slide)。在我的header.php文件中,我有这个代码,它输出title子字段的列表。

// header.php //
<nav id="site-navigation" class="main-navigation" role="navigation">
    <?php $frontpage_id = get_option('page_on_front'); ?>
    <?php if ( is_singular() && have_rows('slides', $frontpage_id) ): ?>
        <ul>
            <?php while ( have_rows('slides', $frontpage_id) ) : the_row(); ?>
                <li class="group"><a href="#"><?php the_sub_field('title'); ?></a></li>
            <?php endwhile;?>
        </ul>
    <?php endif; ?>
</nav>

然后在我的index.php文件中,我有div.content。在这个div中,我想输出相应的slide子字段的列表。我怎么能这样做?

// index.php //
<div class="content"></div>

1 个答案:

答案 0 :(得分:0)

你可以在index.php文件中重复一个类似的循环 -

<?php 
$frontpage_id = get_option('page_on_front');

if( have_rows('slides', $frontpage_id) ): 
    while( have_rows('slides', $frontpage_id) ) : the_row();

        // if your 'slide' field is an image
        $slide = get_sub_field('slide'); ?>

        <img src="<?php echo $slide['url']; ?>" alt="<?php echo $slide['alt']; ?>" />


    <?php endwhile;
endif;
?>

或者您可以使用get_field获取与转发器关联的整个数据数组(&#39; slides&#39;,$ frontpage_id); - 将其设置为全局变量,然后在两个文件中使用foreach循环。我认为第一种选择更容易。