我有以下代码,但我希望在每个项目的末尾添加标点符号。冒号或逗号。有没有一种简单的方法可以在下面的代码中执行此操作,还是作为注册元框的代码的一部分更好?如果这是一个更好的解决方案,我可以提供该代码。我很有意思,将它放在上面的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>
答案 0 :(得分:0)
以下是代码:
<?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>
我不明白你想把标点放在哪里。