В php у меня отображается ul с 3 элементами списка в виде вкладок. Как запретить отображение вкладок без содержимого?
<div class="grid col-540 fit" id="tabs">
<ul>
<li><a href="#tabs-1">Profile</a></li>
<li><a href="#tabs-2">Project Experience</a></li>
<?php if (!empty(get('bio_publications')) { ?>
<li><a href="#tabs-3">Publications</a></li>
<?php } ?><?php endif ?>
</ul>
<div class="profile" id="tabs-1">
<h2>Profile</h2>
<?php the_content( __( 'Read more ›', 'responsive' ) ); ?>
</div>
<div class="project-experience" id="tabs-2">
<h2>Project Experience</h2>
<?php echo get('bio_project_experience'); ?>
</div>
<div class="publications" id="tabs-3">
<h2>Publications</h2>
<?php echo get('bio_publications'); ?>
</div>
</div>
Я предполагал, что смогу сделать это с помощью оператора if, но он не работает. Публикации для данного конкретного ul пустые, поэтому вкладка не должна отображаться.
Спасибо за вашу помощь.
Вам просто нужны условия IF, но вам нужно получить значения табуляции «раньше» в коде, чтобы проверить условия, что-то вроде этого:
<?php
//get your stuff
$content = get_the_content();
$bio_project_experience = get('bio_project_experience');
$bio_publications = get('bio_publications');
?>
<div class="grid col-540 fit" id="tabs">
<ul>
<?php if ($content): ?><li><a href="#tabs-1">Profile</a></li><?php endif; ?>
<?php if ($bio_project_experience): ?><li><a href="#tabs-2">Project Experience</a></li><?php endif; ?>
<?php if ($bio_publications): ?> <li><a href="#tabs-3">Publications</a></li><?php endif ?>
</ul>
<?php if ($content): ?>
<div class="profile" id="tabs-1">
<h2>Profile</h2>
<?php the_content( __( 'Read more ›', 'responsive' ) ); ?>
</div>
<?php endif; ?>
<?php if ($bio_project_experience): ?>
<div class="project-experience" id="tabs-2">
<h2>Project Experience</h2>
<?php echo get('bio_project_experience'); ?>
</div>
<?php endif; ?>
<?php if ($bio_publications): ?>
<div class="publications" id="tabs-3">
<h2>Publications</h2>
<?php echo get('bio_publications'); ?>
</div>
<?php endif; ?>
</div>
Других решений пока нет …