КАК не отображать блок ACF на странице если он не заполнен в админке wordpress?
Подскажите пожалуйста, нужно не отображать блок на странице если он не заполнен в админке. Вот код, что я делаю не правильно, спасибо. ?!
<?php if(get_field('seo-two-block')) { ?>
<section class="seo__text two_col">
<div class="container">
<div class="row">
<?php
$seoBlock = get_field('seo-two-block');
if( !empty($seoBlock) ) : {
echo $seoBlock;
} ?>
<div class="section__title">
<h3><?php echo $seoBlock['seo-block-title']; ?></h3>
<p><?php echo $seoBlock['seo-block-subtitle']; ?></p>
</div>
<div class="seo__left column">
<p><?php echo $seoBlock['seo-block-left']; ?></p>
</div>
<div class="seo__right column">
<p><?php echo $seoBlock['seo-block-right']; ?></p>
</div>
<?php endif; ?>
</div>
</div>
</section>
<?php } ?>
Ответы (1 шт):
Автор решения: Valerii Vasiliev
→ Ссылка
Попробуйте так
У Вас проверка не срабатывает, т.к. значение массив.
Удаляем из массива пустые элементы. Проверяем перед показом блока - не пустой массив
<?php $seoBlock = get_field('seo-two-block'); ?>
<?php $seoBlock = array_filter($seoBlock, function($value) { return !is_null($value) && $value !== ''; }); ?>
<?php if(sizeof($seoBlock)) { ?>
<section class="seo__text two_col">
<div class="container">
<div class="row">
<?php if (isset($seoBlock['seo-block-title']) || isset($seoBlock['seo-block-subtitle'])) : ?>
<div class="section__title">
<?php if (isset($seoBlock['seo-block-title'])) : ?>
<h3><?php echo $seoBlock['seo-block-title']; ?></h3>
<?php endif; ?>
<?php if (isset($seoBlock['seo-block-subtitle'])) : ?>
<p><?php echo $seoBlock['seo-block-subtitle']; ?></p>
<?php endif; ?>
</div>
<?php endif; ?>
<?php if (isset($seoBlock['seo-block-left'])) : ?>
<div class="seo__left column">
<p><?php echo $seoBlock['seo-block-left']; ?></p>
</div>
<?php endif; ?>
<?php if (isset($seoBlock['seo-block-right'])) : ?>
<div class="seo__right column">
<p><?php echo $seoBlock['seo-block-right']; ?></p>
</div>
<?php endif; ?>
</div>
</div>
</section>
<?php } ?>