Открытие и закрытие элементов в одной строке, как эхо, вызовет у вас всевозможные проблемы.Эта строка является основной, которую я бы избегал (вот где, я думаю, была ошибка.
echo '</div>' . '<div class="item_block_right_details_ordering">' . '<h5 class="item_block_right_details_orderingtitle">Lorem Ipsum</h5>' . '<p class="item_block_right_details_orderingp">' . 'All products created through DITT Bags are custom made. Details such as color, size and detailing will be discussed upon the beginning of a new project. To order a bag and begin a new project, send an inquiry to inquiries@dittbags.com' . '</p>' . '</div>' . '</div>';
В приведенном ниже коде определенно есть личные предпочтения, но пара ключевых моментовподумайте о следующем:
Вы будете использовать два типа файлов PHP: одни для представлений (где вы визуализируете HTML) и те, для которых у вас есть просто логика. Вы написали свои в большей степени в логикестиль, в котором все заключено в один массивный тег PHP.
Если вы визуализируете представление, я бы рекомендовал открывать и закрывать PHP вокруг каждой строки логики.
Это помогает прочитать файлкак взгляд, легче. Я знаю, что есть много открытий и закрытий, но когда вы смотрите на это, я думаю, вы согласитесь, что легче интерпретировать.
Самый важный момент - Отступ - ВыполнениеВышеприведенное означает, что вы можете правильно держать отступы для открывающих и закрывающих тегов, и вам будет намного легче видеть, где открываются и закрываются элементы.
Вот как я бы написал этот файл.Поместите этот файл, так как у меня нет данных для рендеринга, но он показывает вам концепцию, а отступ дает мне уверенность, что это будет правильно.
<?php if (have_rows('pSect')): ?>
<?php while (have_rows('pSect')) : ?>
<?php the_row(); ?>
<?php $productSectionTitle = get_sub_field('pSecTitle'); ?>
<div class="block_title cf" id="collectie_block_title"><?php echo $productSectionTitle; ?></div>
<?php if (have_rows('prods')) : ?>
<?php while (have_rows('prods')): ?>
<?php the_row(); ?>
<?php $products = get_sub_field('prods'); ?>
<div class="block cf" id="item_block">
<?php if (have_rows('indivProd')): ?>
<?php while (have_rows('indivProd')): ?>
<?php the_row(); ?>
<?php
$individualProduct = get_sub_field('indivProd');
$images = get_sub_field('images');
?>
<?php if ($images): ?>
<?php foreach ($images as $image): ?>
<?php $full_image_url = $image['url']; ?>
<div class="item_block_left bstretchMe cf" data-img-src="<?php echo $full_image_url; ?>"></div>
<?php endforeach; ?>
<?php endif; ?>
<?php
$productName = get_sub_field('product_name');
$productType = get_sub_field('product_type');
?>
<div class="item_block_right cf">
<div class="item_block_right_header cf">
<ul class="item_block_right_header_list">
<li id="product_title"><?php echo $productName; ?></li>
<li id="product_subtitle"><?php $productType; ?></li>
</ul>
</div>
<div class="item_block_right_viewoptions">bestellen opties</div>
</div>
<div class="item_block_right_details cf">
<div class="item_block_right_details_specs">
<h5 class="item_block_right_details_specstitle">Lorem Ipsum</h5>
<ul class="item_block_right_details_specslist">
<?php if (have_rows('detailList')): ?>
<?php while (have_rows('detailList')): ?>
<?php the_row(); ?>
<?php
$bijzonderheden = get_sub_field('bijzonderheden');
$message = "working!?";
?>
<li><?php echo $bijzonderheden; ?></li>;
<?php endwhile; ?>
<?php endif; ?>
</ul>
</div>
<div class="item_block_right_details_kleuren cf">
<p id="item_block_right_details_kleuren_title">Kleuren</p>
<?php if (have_rows('colOps')): ?>
<?php while (have_rows('colOps')): ?>
<?php the_row(); ?>
<?php $colorPick = get_sub_field('cPick'); ?>
<div id="item_block_right_details_kleuren_swatches" style="background-color:<?php echo $colorPick; ?>"></div>
<?php endwhile; ?>
<?php endif; ?>
</div>
<div class="item_block_right_details_ordering">
<h5 class="item_block_right_details_orderingtitle">Lorem Ipsum</h5>
<p class="item_block_right_details_orderingp">
All products created through DITT Bags are custom made. Details such as color, size and detailing will be discussed upon the beginning of a new project. To order a bag and begin a new project, send an inquiry to inquiries@dittbags.com
</p>
</div>
</div>
<?php endwhile; ?>
<?php endif; ?>
</div>
<?php endwhile; ?>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
Следующее, что вы должны сделать, это взломэтот файл разбит на несколько файлов, чтобы сделать его более управляемым.Затем вы можете использовать PHP для включения различных битов, составляющих больший файл.
Вы можете использовать include для этого.
Надеюсь, это поможет.