高级自定义字段循环行为

时间:2017-02-28 12:53:13

标签: wordpress advanced-custom-fields

我有一个包含3个自定义字段的页面。对于每个字段,我需要使用模板。所以我所做的就是

<?php if( have_rows('page_block') ):?>
    <?php while ( have_rows('page_block') ) : the_row();?>
        <?php if( get_row_layout() == 'content_block' ):?>
            <?php get_template_part("content-block");?>
        <?php elseif( get_row_layout() == 'slider' ):?>
            <?php get_template_part("slider"); ?>
        <?php elseif( get_row_layout() == 'news_block' ):?>
            <?php get_template_part("news-block"); ?>
        <?php endif; ?>

    <?php endwhile; ?>
....
<?php endif; ?>

问题是页面上只显示前两个字段。所以当字段的顺序是

  1. 内容块
  2. 滑块
  3. 新闻块
  4. 仅显示内容块和滑块。当我将滑块放在底部时,只显示内容块和新闻块。

    知道问题可能是什么?

    修改 忘记提及当我回显get_row_layout()时,我得到了所有3个字段的名称。

    <?php if( have_rows('page_block') ):?>
        <?php while ( have_rows('page_block') ) : the_row();?>
            <?php echo get_row_layout(); ?>
    
        <?php endwhile; ?>
        <?php endif; ?>
    

    显示content_block滑块news_block

1 个答案:

答案 0 :(得分:0)

发现问题。滑块模板使用WP_Query,我不得不添加<?php wp_reset_query(); ?>来解决问题。我认为查询打破了循环或类似的东西。无论哪种方式,通过添加所述行来解决问题!