ACF-转发器仅在博客页面上显示1行

时间:2019-06-06 17:51:00

标签: advanced-custom-fields

我的footer.php文件中有一个转发器,该转发器适用于整个网站,但是每当我进入博客页面(index.php)时,转发器仅显示一行整个中继器的em>,我不知道为什么会这样。

我尝试将get_option('page_for_posts')用作转发器字段的第二个参数,但这没用。

这是除博客页面以外的所有页面上的外观。

enter image description here

这是它在博客页面上的外观:

enter image description here

它在博客页面上仅显示一行,这是关于我们列。

代码如下:

<?php if ( have_rows('post_object_repeater') ) : ?>
    <?php while( have_rows('post_object_repeater') ) : the_row(); ?>
        <?php $header = get_sub_field( 'header' ); ?>
        <div class="<?php echo $number_of_columns; ?> col-md-6 col-12 list-column">
            <?php

            $posts = get_sub_field('post_object_relationship');

            if( $posts ): ?>
                <ul class="list-unstyled <?php if ( ! $header ): echo 'no-header'; endif; ?>">
                    <?php if ( $header ): ?>
                        <li class="header mb-3 font-weight-bold text-uppercase"><?php echo $header; ?></li>
                    <?php endif; ?>
                    <?php foreach( $posts as $post): ?>
                        <?php setup_postdata($post); ?>
                        <li class="list-item">
                            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                        </li>
                    <?php endforeach; ?>
                </ul>
                <?php wp_reset_postdata(); ?>
            <?php endif; ?>
        </div>
    <?php endwhile; ?>
<?php endif; ?>

此转发器的内部确实具有一个关系字段,用于提取网站的各个页面或自定义帖子类型。会有人知道为什么不是所有转发器行都显示在博客页面上,而是在所有其他页面上工作吗?

1 个答案:

答案 0 :(得分:1)

您尝试过

if(have_rows('post_object_repeater', 'option')

while(have_rows('post_object_repeater', 'option'))

????