【问题标题】:ACF - repeater only showing 1 row on blog pageACF - 中继器仅在博客页面上显示 1 行
【发布时间】:2019-06-10 23:41:02
【问题描述】:

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

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

这是它在除博客页面之外的每个页面上的外观。

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

在博客页面上只显示一行,即关于我们列。

代码如下:

<?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; ?>

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

【问题讨论】:

  • 中继器“post_object_repeater”元框是在选项页面上还是在每个单独的页面上?
  • 中继器在 ACF 选项页面中

标签: advanced-custom-fields


【解决方案1】:

你试过了吗

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

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

等等

??????

【讨论】:

  • 这就是解决方案!谢谢。
猜你喜欢
  • 2020-06-23
  • 2019-10-16
  • 2017-07-26
  • 1970-01-01
  • 1970-01-01
  • 2016-07-02
  • 1970-01-01
  • 2019-05-17
  • 1970-01-01
相关资源
最近更新 更多