У меня есть код ниже, но я хочу добавить пунктуацию в конце каждого элемента. Или двоеточие или запятая. Есть ли простой способ сделать это в приведенном ниже коде, или лучше сделать это как часть кода, регистрирующего мета-блок? Я могу предоставить этот код, если это лучшее решение. Я согласен с тем, что размещение его в приведенном выше HTML означает, что пунктуация будет отображаться, даже если метаданные пусты (поэтому не отображаются).
Кроме того, есть ли какой-нибудь код, который я могу добавить к приведенному выше, чтобы сделать вызовы условными, поэтому, если они пусты, они вообще не будут отображаться? В настоящее время у меня остались пустые теги li.
Спасибо
<ul class="credits">
<li><?php echo get_post_meta($post->ID, "_role1", true); ?></li>
<li><a href="<?php echo get_post_meta($post->ID, "_url1", true, ','); ?>" target="_blank"><?php echo get_post_meta($post->ID, "_name1", true); ?></a></li>
<li><?php echo get_post_meta($post->ID, "_role2", true, ':'); ?></li>
<li><a href="<?php echo get_post_meta($post->ID, "_url2", true, ','); ?>" target="_blank"><?php echo get_post_meta($post->ID, "_name2", true); ?></a></li>
<li><?php echo get_post_meta($post->ID, "_role3", true, ':'); ?></li>
<li><a href="<?php echo get_post_meta($post->ID, "_url3", true); ?>" target="_blank"><?php echo get_post_meta($post->ID, "_name3", true); ?></a></li>
</ul>
Вот код:
<?php
$role1 = get_post_meta($post->ID, "_role1", true);
$url1 = get_post_meta($post->ID, "_url1", true, ',');
$name1 = get_post_meta($post->ID, "_name1", true);
$role2 = get_post_meta($post->ID, "_role2", true);
$url2 = get_post_meta($post->ID, "_url2", true, ',');
$name2 = get_post_meta($post->ID, "_name2", true);
$role3 = get_post_meta($post->ID, "_role3", true);
$url3 = get_post_meta($post->ID, "_url3", true, ',');
$name3 = get_post_meta($post->ID, "_name3", true);
?>
<ul class="credits">
<?php if(!empty($role1)) echo '<li>' . $role1 . '</li>'; ?>
<?php if(!empty($url1) && !empty($name1)) echo '<li><a href="' . $url1 . '" target="_blank">' . $name1 . '</a>,</li>'; ?>
<?php if(!empty($role2)) echo '<li>' . $role2 . '</li>'; ?>
<?php if(!empty($url2) && !empty($name2)) echo '<li><a href="' . $url2 . '" target="_blank">' . $name2 . '</a>,</li>'; ?>
<?php if(!empty($role3)) echo '<li>' . $role3 . '</li>'; ?>
<?php if(!empty($url3) && !empty($name3)) echo '<li><a href="' . $url3 . '" target="_blank">' . $name3 . '</a>,</li>'; ?>
</ul>
Я не понял, где вы хотите поставить пунктуацию.
Других решений пока нет …