将多个URL显示为自定义字段值

时间:2016-05-07 作者:Iva

我一直在尝试显示具有相同值的多个自定义字段,如果没有输入值,则不显示它们。这是我目前使用的一段代码,当用户还没有输入Instagram个人资料URL时,它会输出值。所有这些都是在自定义post类型的循环中发生的,否则就没有问题了。

所以,基本上,我正在寻找一种方法,只要存在一些值或不显示任何其他值,就可以显示尽可能多的值。在这种情况下,值始终是URL。

非常感谢。

$profiletwitter = get_post_meta($post->ID, \'profiletwitter\', true);
if ( ! empty( $profiletwitter ) ) { ?>
    <span class=\'social-profile\'>
        <a href="<?php echo esc_attr( $profiletwitter ); ?>" target=\'blank\'>
            <img src=\'http://blogomanija.net/sajt/wp-content/themes/blogomanija/images/social/twitter-small.png\' />
        </a>
    </span><?php 
}

1 个回复
最合适的回答,由SO网友:N00b 整理而成

<?php

// False: get all, true: get only first
// Use false if you want to get all, if you have only one, it doesn\'t break
$profile_twitter = get_post_meta( $post->ID, \'profiletwitter\', false );

// Let\'s check if there\'s any
if( ! empty( $profile_twitter ) ) { ?>

    <span class=\'social-profile\'> <?php

        // Check if an array -> has more than one
        if( is_array( $profile_twitter ) ) {

            // Loop through each twitter url
            foreach( $profile_twitter as $single_twitter ) { ?>

                <a href="<?php echo $single_twitter; ?>" target=\'blank\'>
                    <img src=\'http://blogomanija.net/sajt/wp-content/themes/blogomanija/images/social/twitter-small.png\' />
                </a> <?php 
            }
        }
        // Not an array, it must be single (if it\'s correctly stored in db)
        else { ?>

            <a href="<?php echo $profile_twitter; ?>" target=\'blank\'>
                <img src=\'http://blogomanija.net/sajt/wp-content/themes/blogomanija/images/social/twitter-small.png\' />
            </a> <?php 
        } ?>

    </span> <?php 
} ?>
<小时>

More reading:

get_post_meta(), is_array(), foreach

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在