get post custom value

时间:2012-01-14 作者:Ricardo Ribeiro

我有一个公文包自定义帖子类型,带有一个站点链接的文本字段,我需要在模板页面中回显该链接。到目前为止,我得到的是:

            <?php $site= get_post_custom_values(\'projLink\'); 
                if($site[0] != ""){
            ?>
                <span><p><a href="<?php var_dump($site); ?>">Visit the Site</a></p></span>

            <?php }else{ ?>
                <p><em>Live Link Unavailable</em></p>
            <?php } ?>
问题是它不起作用,我在链接上有以下内容:

http://localhost:8888/p3dra/portfolio/array(1)%20%7B%20%20[0]=%3E%20%20string(18)
谢谢。

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

我认为你可以更好地使用get_post_meta(); 您的代码如下所示:

<?php $site = get_post_meta(get_the_ID(), \'projLink\', true); ?>
<?php if(isset($site) && $site != "") : ?>
   <span><p><a href="<?php echo $site; ?>">Visit the Site</a></p></span>
<?php else : ?>
   <p><em>Live Link Unavailable</em></p>
<?php endif; ?>
仅出于测试目的使用var\\u dump(http://php.net/manual/en/function.var-dump.php)。

SO网友:rpophessagr

罗布的回答应该有用。如果仍要使用get\\u post\\u custom\\u值,则需要回显答案。由于get\\u post\\u custom\\u值返回一个数组,因此您的代码需要如下所示:

    <?php $site= get_post_custom_values(\'projLink\'); 
        if($site[0] != ""){
    ?>
        <span><p><a href="<?php echo $site[0]; ?>">Visit the Site</a></p></span>

    <?php }else{ ?>
        <p><em>Live Link Unavailable</em></p>
    <?php } ?>
请记住,它只会发布第一个自定义值。因此,请确保在帖子中要回送的链接是第一个projLink自定义值。

结束