Поля повторителя ACF в таблице - в пределах PHP шаблон - PullRequest
0 голосов
/ 09 апреля 2020

Я использую ACF для отображения поля повторителя в таблице моего файла шаблона в Wordpress. Отображаются поля - однако таблица, похоже, создает новую «таблицу» для каждой строки, а не включает обе строки данных подполей в одну и ту же таблицу.

это мой код:

<?php if(get_field('monthly_expenses')): ?>

<ul>

<?php while(has_sub_field('monthly_expenses')): ?>

<table>
<tbody>
<tr>
<td><strong>&nbsp;Monthly Expense</strong></td>
<td><strong>Estimated Amount</strong></td>
<td><strong>Registered Supplier</strong></td>
</tr>
<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>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<!-- DivTable.com -->


<?php endwhile; ?>

</ul>

Вот как он отображается. Мне нужно, чтобы обе строки информации (и строки электричества, и телефон) были в первой таблице, а не в отдельных таблицах. Current display on page

1 Ответ

1 голос
/ 09 апреля 2020

Все в пределах while l oop повторяется для каждого подполя. Таким образом, вам нужно ограничить то, что вы выводите, только строкой таблицы и избавиться от пустых строк следующим образом:

<?php if(get_field('monthly_expenses')): ?>

<ul>
<table>
<tbody>
<tr>
<td><strong>&nbsp;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.

...