向 WP 元数据添加标点符号
Adding punctuation to a WP meta data
我有以下代码,但我想在每个项目的末尾添加标点符号。冒号或逗号。在下面的代码中是否有一种简单的方法可以做到这一点,或者最好将其作为注册元框的代码的一部分来完成?如果这是更好的解决方案,我可以提供该代码。我意识到将它放在上面 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>
我不明白你想把标点符号放在哪里。
我有以下代码,但我想在每个项目的末尾添加标点符号。冒号或逗号。在下面的代码中是否有一种简单的方法可以做到这一点,或者最好将其作为注册元框的代码的一部分来完成?如果这是更好的解决方案,我可以提供该代码。我意识到将它放在上面 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>
我不明白你想把标点符号放在哪里。