【发布时间】:2020-02-12 14:44:27
【问题描述】:
我想制作一个包含灵活内容字段的表格。
主要有两个问题
如果我在循环外插入表格主题代码,表格标题会针对每个字段(灵活内容行)重复。
如果我在循环中插入表格主题代码,数据不会正确进入表格。表格中只有第一个灵活内容行的一些字段。其余的灵活内容行没有出现。 (除了第一个表格行,表格也是空的。)
如何制作只有一个表头的表格,并让所有灵活的内容行及其字段在表格中正确显示?
已编辑:下面是中继器域代码。我已经转移到中继器领域。
<?php if ( have_rows( 'pokemon_level_up' ) ) : ?>
<table>
<caption>รายละเอียดท่า</caption>
<thead>
<tr>
<th scope="col">เลเวล</th>
<th scope="col">ท่า</th>
<th scope="col">ชนิด</th>
<th scope="col">ประเภท</th>
<th scope="col">ความแรง</th>
<th scope="col">ความแม่นยำ</th>
<th scope="col">PP</th>
<th scope="col">% เอฟเฟกที่สอง</th>
</tr>
</thead>
<?php while ( have_rows( 'pokemon_level_up' ) ) : the_row(); ?>
<?php $move_id = get_sub_field('pokemon_select_move'); ?>
<tr>
<td data-label="เลเวล"><?php the_sub_field( 'pokemon_level' ); ?></td>
<td data-label="ท่า"><?php echo '<a href="'.get_permalink( $move_id ).'">'.get_the_title( $move_id ).'</a>'; ?></td>
<td data-label="ชนิด"><?php $move_type = get_field( 'move_type', $move_id ); ?>
<?php if ( $move_type ) { ?>
<img src="<?php echo $move_type['url']; ?>" alt="<?php echo $move_type['alt']; ?>" />
<?php } ?></td>
<td data-label="ประเภท"><?php $move_category = get_field( 'move_category', $move_id ); ?>
<?php if ( $move_category ) { ?>
<img src="<?php echo $move_category['url']; ?>" alt="<?php echo $move_category['alt']; ?>" />
<?php } ?></td>
<td data-label="ความแรง"><?php the_field( 'move_power', $move_id ); ?></td>
<td data-label="ความแม่นยำ"><?php the_field( 'move_accuracy', $move_id ); ?></td>
<td data-label="PP"><?php the_field( 'move_pp', $move_id ); ?></td>
<td data-label="% เอฟเฟกที่สอง"><?php the_field( 'move_secondary_effect', $move_id ); ?></td>
</tr>
<tr>
<td colspan="8"><?php the_field( 'move_description', $move_id ); ?></td>
</tr>
</table>
<?php endwhile; ?>
<?php else : ?>
<?php // no rows found ?>
<?php endif; ?>
这是原始表格源代码 https://codepen.io/AllThingsSmitty/pen/MyqmdM
实际上,我本可以使用中继器字段。我从这个https://www.youtube.com/watch?v=uRVslHJR9to得到了一个想法
所以,我选择了灵活的内容而不是重复字段。
你能帮我修改一下代码吗?或者我应该使用转发器字段吗? (如果它可以做与该特定 YouTube 视频中教授的相同的技巧。)
谢谢!
【问题讨论】:
-
如果“主题外循环”的唯一问题是重复的标题,您可以只使用循环计数器变量。然后仅在第一个循环中显示标题。
-
刚刚注意到:将 endwhile 放在关闭 table 标记之前,应该可以解决它
-
简单但高效!!它按您的预期工作。非常感谢
标签: php html wordpress advanced-custom-fields repeater