仅当自定义POST函数具有值时才显示该函数

时间:2013-08-14 作者:Dave Burns

如何让以下代码仅在自定义函数有值时插入链接?

<td><a href="<?php echo esc_html( get_post_meta( get_the_ID(), \'game_review_link\', true ) ); ?>"><div class="rating-<?php echo esc_html( get_post_meta( get_the_ID(), \'game_rating\', true ) ); ?>"><?php echo esc_html( get_post_meta( get_the_ID(), \'game_rating\', true ) ); ?></div></a></td>
基本上,我试图将评论分数与评论链接起来,但如果没有撰写评论,我不希望出现链接。

提前谢谢。

2 个回复
最合适的回答,由SO网友:Rachel Baker 整理而成

<td>
<?php $review_link = get_post_meta( get_the_ID(), \'game_review_link\', true );
if ( ! empty( $review_link ) ) : ?>
    <a href="<?php echo esc_html( $review_link ); ?>">
        <div class="rating-<?php echo esc_html( $review_link ); ?>">
            <?php echo esc_html( $review_link ); ?>
        </div>
    </a>
<?php endif; ?>
</td>

UPDATE

多亏了Chip Bennet,这才是有效的代码。已将isset条件检查更改为!空的

SO网友:Chip Bennett

正在查看the Codex entry for get_post_meta(), 函数返回指定的值(如果存在),否则返回empty string.

因此,您只需检查空字符串:

if ( \'\' != get_post_meta( get_the_ID(), \'game_review_link\', true ) ) {
    // Post meta value exists; do something
}

结束

相关推荐