同一页面上的ACF多个转发器字段不起作用

时间:2018-06-28 11:56:41

标签: php wordpress advanced-custom-fields acfpro

这是一个很奇怪的东西。

我正在制作详细页面模板,并且需要两个转发器字段才能显示在同一页面上。我已经在不同的页面上做了多次,并且一页上有3个转发器字段,并且显示效果很好。

有两个块detail__other & detail__information

DO =细节__其他 DI = detail__information

这需要一些解释

如果我将DI放在DO上方,DIn会正确显示并且DO不会渲染,但是如果我反过来说,它们都不会渲染。

如果我随后将DI放在DO上方,并将DI标记直接复制在其下,则DI和DO都将渲染。

我确定存在语法错误,但是我已经多次检查了该错误,但找不到任何错误。

下面的代码:

<div class="detail__other">
    <div class="detail--contain">
        <div class="detail__heading detail__heading--black">Other Products</div>
        <?php if(have_rows('other_products')) : ?>
            <ul class="detail__other-products">
                <?php while( have_rows('other_products') ): the_row(); ?>
                    <li class="detail__others-products-item">
                        <?php $post_object = get_sub_field('products'); ?>
                        <?php if( $post_object ): ?>
                            <?php $post = $post_object; setup_postdata( $post ); ?>
                            <a href="<?php the_permalink(); ?>"><img src="<?php the_post_thumbnail_url('featured-small'); ?>" alt="<?php the_title(); ?>" /></a>
                            <?php the_title(); ?>
                            <?php wp_reset_postdata(); ?>
                        <?php endif; ?>
                    </li>
                <?php endwhile; reset_rows(); ?>
            </ul>
        <?php endif; ?>
    </div>
</div>

<?php if(have_rows('technical_information')) : ?>
    <div class="detail__information">
        <div class="detail--contain">
            <div class="detail__content">
                <div class="detail__heading">Technical Information</div>
                <table class="detail__table">
                    <thead>
                    <tr>
                        <th>Material</th>
                        <th>Grades</th>
                    </tr>
                    </thead>
                    <tbody>
                    <?php while( have_rows('technical_information') ): the_row();
                        // vars
                        $material = get_sub_field('material');
                        $grades = get_sub_field('grades');
                        ?>
                        <tr>
                            <td><?=$material;?></td>
                            <td><?=$grades;?></td>
                        </tr>

                    <?php endwhile; ?>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
<?php endif; ?>

0 个答案:

没有答案