这是一个很奇怪的问题。
我正在制作详细信息页面模板,需要在同一页面上显示两个转发器字段。我已经在不同的页面上多次执行此操作,并且在一页上有 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; ?>