Все в пределах while
l oop повторяется для каждого подполя. Таким образом, вам нужно ограничить то, что вы выводите, только строкой таблицы и избавиться от пустых строк следующим образом:
<?php if(get_field('monthly_expenses')): ?>
<ul>
<table>
<tbody>
<tr>
<td><strong> Monthly Expense</strong></td>
<td><strong>Estimated Amount</strong></td>
<td><strong>Registered Supplier</strong></td>
</tr>
<?php while(has_sub_field('monthly_expenses')): ?>
<tr>
<td><?php the_sub_field('monthly_expense'); ?></td>
<td><?php the_sub_field('estimated_amount'); ?></td>
<td><?php the_sub_field('registered_supplier'); ?></td>
</tr>
<!-- DivTable.com -->
<?php endwhile; ?>
</tbody>
</table>
</ul>
Я оставил там <ul>
, однако я понятия не имею, что что изначально было для. Кроме того, я надеюсь, что вы закрыли блок if
.