Custom Field Suite циклы
Есть необходимость в Custom Field Suite добавлять вначале страны, затем города, и в этих городах карточки.
Вопрос в том как заставить работать цикл в другом цикле этого плагина. Уже были похожие вопросы на Stack Overflow, вроде у себя сделал также, но ничего не сработало. Посмотрите пожалуйста, может я что-то не дописал. Или не правильно оформил. Первый цикл срабатывает, последующие нет. Или хотя бы пример, не обязательно весь код редактировать. Просто хочу понять что не так делаю)) Буду очень признателен!
<section class="partners">
<div class="container">
<h2><?php echo CFS()->get( 'partners-page-title' ); ?></h2>
<?php
$loop1 = CFS()->get('partners-country');
foreach ($loop1 as $row1) {
?>
<div class="partners__wrapp">
<div class="partners__country"><?php echo $row1['partners-country-title']; ?></div>
<?php
$loop2 = CFS()->get('partners-city');
foreach ($loop2 as $row2) {
?>
<div class="partners__city">
<div class="partners__city-name">
<?php echo $row2['partners-city-title']; ?>
</div>
<div class="partners__wrapp-id df">
<?php
$loop3 = CFS()->get('partners-person');
foreach ($loop3 as $row3) {
?>
<div class="partners__id">
<div class="partners__contClick">Контакты</div>
<div class="partners__id-name"><?php echo $row3['partners-id-name']; ?></div>
<div class="partners__info">
<div class="partners__id-adress"><?php echo $row3['partners-id-adress']; ?></div>
<div class="partners__id-contact">
<?php
$loop4 = CFS()->get('partners-tel');
foreach ($loop4 as $row4) {
?>
<a href="tel:<?php echo $row4['partners-tel-fn']; ?>" class="partners__id-link"><?php echo $row4['partners-tel-vis']; ?></a>
<?php
}
?>
<?php
$loop5 = CFS()->get('partners-mail');
foreach ($loop5 as $row5) {
?>
<a href="mailto:<?php echo $row5['partners-mail-text']; ?>" class="partners__id-link">Email: <?php echo $row5['partners-mail-text']; ?></a>
<?php
}
?>
</div>
</div>
</div>
<?php
}
?>
</div>
</div>
<?php
}
?>
</div>
<?php
}
?>
</div>
</section>у меня опыта работы с плагином нет.
Но судя по вашим словам, то проблема только в том, что нет данных для цикла.
Нужно отладку делать - пошагово.
Ниже написал первый шаг
если не срабатывает цкил - тогда давайте увидим переменную, которая участвует в цикле.
Ведь нужно понимать, почему ВТОРОЙ цикл не запускается.
<section class="partners"> <div class="container"> <h2><?php echo CFS()->get( 'partners-page-title' ); ?></h2> <?php $loop1 = CFS()->get('partners-country'); foreach ($loop1 as $row1) { ?> <div class="partners__wrapp"> <div class="partners__country"><?php echo $row1['partners-country-title']; ?></div> <?php $loop2 = CFS()->get('partners-city'); var_dump( $loop2 ); foreach ($loop2 as $row2) { ?> <div class="partners__city">Поставил var_dump( $loop2 ); приходит NULL то есть получается 2й цикл не виден?
Цикл здесь не причем.
Получается, что
CFS()->get('partners-city');ничего не возвращает. Ничего не приходит из того запроса.
А дальше уже смотрите - почему ничего не приходит. Или примеры ищите или документацию по той функции.
У меня возникла та же ситуация, пожалуйста поделитесь если нашли решение. Второй цикл возвращает NULL
https://stackoverflow.com/questions/30061823/nesting-foreach-loop-inside-foreach-loop-using-short-open-tags
Что находится в переменной?
Это
$loop2 = CFS()->get('partners-city');нужно заменить на это:
$loop2 = $row1['partners-city'];Спасибо огромное!
$loop2 = CFS()->get('partners-city');
нужно заменить на это:
$loop2 = $row1['partners-city'];
Рабочее решение!