хорошо, вы можете сделать это так же.
<?php if(!empty($location) && !empty($date) && !empty($season)):?>
<div class="post-extras">
<p>Wedding Location: <?php echo $location;?></p>
<p>Shoot Date: <?php echo $date;?></p>
<p>Season: <?php echo $season; ?></p>
</div>
<?php else:?>
<h4>Sorry, nothing to show.</h4>
<?php endif;?>
Update
<?php
$location = get_post_meta(get_the_ID(), 'location', true);
$date = get_post_meta(get_the_ID(), 'date', true);
$season = get_post_meta(get_the_ID(), 'season', true);
if($location && $date && $season): ?>
<div class="post-extras">
<p>Wedding Location: <?php echo $location?></p>
<p>Shoot Date: <?php echo $date?></p>
<p>Season: <?php echo $season?></p>
</div>
<?php endif;?>
и отлаживать его, добавить что-то вроде этого, так что вы уверены, что вы получаете правильные значения, или любые значения из get_post_meta
$location = get_post_meta(get_the_ID(), 'location', true);
printf("values is %s", $location);
$date = get_post_meta(get_the_ID(), 'date', true);
printf("values is %s", $date);
$season = get_post_meta(get_the_ID(), 'season', true);
printf("values is %s", $season);
и в случае, если вы хотите показать только то, что у вас есть: вы можете использовать это ::
<?php
$location = get_post_meta(get_the_ID(), 'location', true);
$date = get_post_meta(get_the_ID(), 'date', true);
$season = get_post_meta(get_the_ID(), 'season', true); ?>
<div class="post-extras">
<?php
if($location): ?>
<p>Wedding Location: <?php echo $location?></p>
<?php endif;?>
<?php if($date):?>
<p>Shoot Date: <?php echo $date?></p>
<?php endif;?>
<?php if($season):?>
<p>Season: <?php echo $season?></p>
<?php endif;?>
</div>
что вы имеете в виду лучший способ? так что у вас не так много «эха»? вы пытаетесь использовать, например, 'if ($ allthingshere):' и закрывать его как 'endif;', тогда вы можете иметь нормальный html внутри – jycr753
Я имел в виду «более чистый» способ, используя меньше кода. Это было слишком тяжело. – tmcd