由于我也是新来的,我不能发表评论,也不能要求澄清或给出一些建议,所以我会在这里这样做。
为什么有嵌套的中继器recent_documents
和new_document
? 看来recent_documents
总是只有一行,否则会很混乱。但不管怎样,利用现有资源,你可以这样做:
<table class="float-left table">
<thead>
<tr>
<th scope="col">Company</th>
<th scope="col">Annual Report</th>
<th scope="col">Interim Statement</th>
<th scope="col">Prospectus</th>
</tr>
</thead>
<tbody>
<?php if( $query->have_posts() ) : while( $query->have_posts() ) : $query->the_post(); ?>
<?php if( have_rows( \'recent_documents\') ): ?>
<tr>
<th>
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
</th>
<?php
// We get the inner repeater (if it exists)
$documents = get_field( \'recent_documents\' );
// Create our \'dictionary\' array
$report_types = array( \'Annual\', \'Interim\', \'Prospectus\' );
// Loop through it. This will always create three cells, even if there are no documents.
foreach ( $report_types as $key => $report_type ) : ?>
<td>
<?php
$new_document = ! empty( $documents[$key][\'new_document\'] ) ? $documents[$key][\'new_document\'][0] : false;
if ( ! $new_document
|| strpos( $new_document[\'report_type\'], $report_type ) === false
|| empty( $new_document[\'file\'] ) )
{
echo \'x\';
continue;
}
echo \'<a href="\' . $new_document[\'file\'] . \'" target="_blank"><i class="fas fa-file-pdf"></i>\' . $report_type . \'</a>\';
?>
</td>
<?php endforeach; ?>
</tr>
<?php endif; ?>
<?php endwhile; endif; wp_reset_postdata(); ?>
</tbody>
</table>
如果这不符合你的要求,请告诉我。
请注意new_documents
必须按以下特定顺序进行:Annual, Interim, Prospectus
, 否则,即使文档存在,它也会跳过这些文档。