Обёртывание всего набора динамического контента с помощью div

Я новичок в PHP, и я не могу понять, где вставить код в мой PHP, чтобы обернуть выводимый контент в div. В существующем состоянии это выводит эхо дважды, каждый вокруг строки «season_date» и строки «archive_entry». Я хотел бы обернуть все это в один div.

Это, наверное, что-то действительно очевидное, но я не могу понять, что я делаю неправильно …

Вот код:

<?php
if (get_field("production_history_flexible")){
while (has_sub_field("production_history_flexible")){
echo '<div class="archive-wrapper">'; // BEGIN DIV HERE??
if (get_row_layout() == "season_date"){
echo '<h2 class="season-date">';
the_sub_field("season_date_entry");
echo '</h2>';
}

if (get_row_layout() == "archive_entry"){

$rows = get_sub_field('archive_entry_repeater');

if ($rows){
foreach($rows as $row){ }
}

// Surtitle
if(trim($row['surtitle']!=''))
{ echo '<p class="surtitle">'.$row['surtitle'].'</p>'; }

// Title
if(trim($row['title']!=''))
{ echo '<h3 class="season-history-show-title">'.$row['title'].'</h3>'; }

// Writer
if(trim($row['writer']!=''))
{ echo '<h4 class="season-history-writer">by '.$row['writer'].'</h4>'; }

echo '<ul>';

// Director
if(trim($row['director']!=''))
{ echo '<li>Directed by '.$row['director'].'</li>'; }

// Performers
if(trim($row['performers']!=''))
{ echo '<li>Performed by '.$row['performers'].'</li>'; }

// Co-Pro
if(trim($row['co-pro']!=''))
{ echo '<li>Co-produced with '.$row['co-pro'].'</li>'; }// Dates
if(trim($row['dates']!=''))
{ echo '<li>'.$row['dates'].'</li>'; }

// Venue
if(trim($row['venue']!=''))
{ echo '<li>'.$row['venue'].'</li>'; }

echo '</ul>';

}
echo '</div>'; // END DIV WRAPPER HERE?

}
} ?>

(Я использую плагин Advanced Custom Fields для WordPress с гибкими дополнениями контента и повторителя контента, если это имеет значение.)

0

Решение

Попробуйте этот код, который будет открывать div при каждом обнаружении нового сезона:

<?php
$first = true;
if (get_field("production_history_flexible")){
while (has_sub_field("production_history_flexible")){
if (get_row_layout() == "season_date"){
if(!$first)
echo '</div>';
else
$first = false;
echo '<div class="archive-wrapper">';
echo '<h2 class="season-date">';
the_sub_field("season_date_entry");
echo '</h2>';
}

if (get_row_layout() == "archive_entry"){

$rows = get_sub_field('archive_entry_repeater');

if ($rows){
foreach($rows as $row){ }
}

// Surtitle
if(trim($row['surtitle']!=''))
{ echo '<p class="surtitle">'.$row['surtitle'].'</p>'; }

// Title
if(trim($row['title']!=''))
{ echo '<h3 class="season-history-show-title">'.$row['title'].'</h3>'; }

// Writer
if(trim($row['writer']!=''))
{ echo '<h4 class="season-history-writer">by '.$row['writer'].'</h4>'; }

echo '<ul>';

// Director
if(trim($row['director']!=''))
{ echo '<li>Directed by '.$row['director'].'</li>'; }

// Performers
if(trim($row['performers']!=''))
{ echo '<li>Performed by '.$row['performers'].'</li>'; }

// Co-Pro
if(trim($row['co-pro']!=''))
{ echo '<li>Co-produced with '.$row['co-pro'].'</li>'; }// Dates
if(trim($row['dates']!=''))
{ echo '<li>'.$row['dates'].'</li>'; }

// Venue
if(trim($row['venue']!=''))
{ echo '<li>'.$row['venue'].'</li>'; }

echo '</ul>';

}

}
if(!$first)
echo '</div>';
} ?>
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector