0

这是一个很奇怪的问题。

我正在制作详细信息页面模板,需要在同一页面上显示两个转发器字段。我已经在不同的页面上多次执行此操作,并且在一页上有 3 个转发器字段,它们显示得很好。

有两个块detail__other & detail__information

DO = 详细信息__其他 DI = 详细信息__信息

这需要一些解释

如果我将 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; ?>
4

0 回答 0