Если пользовательское поле пусто, не отображать div

15 мар. 2016 г., 12:46:13
Просмотры: 17.2K
Голосов: 3

Я ищу более эффективный способ скрыть div, когда пользовательское поле пусто. Я разобрался, как скрыть div, но у меня довольно много пользовательских полей, и я не хочу писать код для каждого из них.

(Примечание: я использую плагин Advanced Custom Fields.)

По сути, я хочу скрыть заголовок раздела, если поле под ним пустое.

Спасибо

<div class="section-title">Услуги для частных лиц</div>
    <div class="section-text">
        <?php the_field('services_for_individuals') ?>
    </div>
</div>

    <div class="section-title-business">Услуги для бизнеса</div>    
        <div class="section-text">
            <?php the_field('services_for_businesses') ?>
        </div>
    </div>
</div>
<?php
    $value = get_field( "services_for_businesses" );
    if ( $value ) {
        echo $value;
    } else {
?>

<style type="text/css">
    .section-title-business {
        display:none; } 
</style>

<?php
}    
?>
2
Комментарии

Будут ли ваши поля вложенными, как у вас сейчас, или каждое поле будет находиться в своем собственном DIV-обёртке? Сейчас у вас "Услуги для бизнеса" вложены внутрь DIV'а "Услуги для частных лиц"... Это правильно? Вы упомянули, что у вас будет много других полей, они тоже будут вложенными?

sMyles sMyles
15 мар. 2016 г. 17:00:11

да, каждое будет вложено в свой собственный DIV, похоже, что отсутствует закрывающий тег

A.Copland A.Copland
18 мар. 2016 г. 11:19:02
Все ответы на вопрос 1
0

Попробуйте это:

<?php 
     $business_services = get_field( "services_for_businesses" ); 
     //и т.д...
?>

<div class="section-title">Услуги для частных лиц</div>

    <div class="section-text">
        <?php the_field('services_for_individuals') ?>
    </div>

    <?php if ( $business_services ) : ?>

    <div class="section-title-business">Услуги для бизнеса</div>    
        <div class="section-text">
            <?php echo $business_services; ?>
        </div>
    </div>

    <?php endif; ?>

</div>

Дополнительно абстрагируйте код под свои нужды, если у вас больше одного поля для отображения или скрытия.

15 мар. 2016 г. 13:41:02