@Genri_Rus

Как правильно сделать такой цикл вывода таблицы?

Есть пример: https://codepen.io/Genri_Rus/pen/PoNPJNa

Использую цикл в ООП:
public function render_metabox( $post ) {
		?>
		<table class="form-table custom-info">
			<tbody>
			<?php $metabox_fields = $this->custom_fields_metabox(); ?>
			<tr>
				<?php foreach ( $metabox_fields as $metabox_key => $metabox_field ) : ?>
					<?php $title_metabox = $metabox_field['title']; ?>	
					
					<?php if ( 'price_field' == $metabox_key || 'sale_field' == $metabox_key ) : ?>					
						<th><?php echo $title_metabox; ?></th>
					<?php else : ?>	
					</tr>	
					</tbody>
					<tbody><tr><th><?php echo $title_metabox; ?></th></tr></tbody>
					<?php endif; ?>	
				<?php endforeach; ?>
}

Но никак не могу получить точно такой же эффект с помощью цикла, возможно нужны доп. проверки ?
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Если ключи для полей заранее известны и они фиксированные то выводите с явным указанием ключей без цикла

public function render_metabox($post)
{
    $metabox_fields = $this->custom_fields_metabox();
    ?>
    <table class="form-table custom-info">
    <tbody>
        <tr>
            <th><?php echo $metabox_fields['price_field']['title']; ?></th>
            <th><?php echo $metabox_fields['sale_field']['title']; ?></th>
        </tr>
        <tr>
            <td><?php echo $metabox_fields['price_field']['value']; ?></td>
            <td><?php echo $metabox_fields['sale_field']['value']; ?></td>
        </tr>
    </tbody>

    <tbody>    
    <tr>
        <th><?php echo $metabox_fields['material_field']['title']; ?></th>
        <th><?php echo $metabox_fields['material_field']['value']; ?></th>
    </tr>
    </tbody>

    <?
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы