如何使wordpress中的PHP if语句没有换行符?

时间:2013-07-19 23:01:17

标签: php wordpress if-statement

我正试图这样做,所以这些尴尬的换行符不会出现在侧边栏上没有信息的地方(参见官方链接): http://www.kaerumusic.com/music-album/lucky-number/

我正在使用if语句并通过短代码添加内容:

<?php
$officialweb = get_the_terms( $post->ID, 'wpcf-km-official-website-url' );
$officialblog = get_the_terms( $post->ID, 'wpcf-k-m-official-blog-url');
$wikia = get_the_terms( $post->ID, 'wpcf-km-wikia-url'); 
$wikipedia = get_the_terms( $post->ID, 'wpcf-km-wikipedia-url'); 
$officialyoutube = get_the_terms( $post->ID, 'wpcf-km-official-youtube-url'); 
$officialnnd = get_the_terms( $post->ID, 'wpcf-km-official-niconicodouga-url'); 
$officialtwitter = get_the_terms( $post->ID, 'wpcf-km-official-twitter-url'); 
$officialfacebook = get_the_terms( $post->ID, 'wpcf-km-official-facebook-url'); 
$ann = get_the_terms( $post->ID, 'wpcf-km-anime-news-network-url');
$mal = get_the_terms( $post->ID, 'wpcf-km-myanime-list');
?>
<?php if ( $officialweb ) :?><?php echo do_shortcode('[types field="km-official-website-url" title="Official Website"][/types]'); echo '<br />'; ?><?php endif; ?>
<?php if ( $officialblog ) :?><?php echo do_shortcode('[types field="k-m-official-blog-url" title="Official Blog"][/types]'); echo '<br />'; ?><?php endif; ?>
<?php if ( $wikia ) :?><?php echo do_shortcode('[types field="km-wikia-url" title="Wikia"][/types]'); echo '<br />'; ?><?php endif; ?>
<?php if ( $wikipedia ) :?><?php echo do_shortcode('[types field="km-wikipedia-url" title="Wikipedia"][/types]'); echo '<br />'; ?><?php endif; ?>
<?php if ( $officialyoutube ) :?><?php echo do_shortcode('[types field="km-official-youtube-url" title="Official Youtube"][/types]'); echo '<br />'; ?><?php endif; ?>
<?php if ( $officialnnd ) :?><?php echo do_shortcode('[types field="km-official-niconicodouga-url" title="Official NicoNicoDouga"][/types]'); echo '<br />'; ?><?php endif; ?>
<?php if ( $officialtwitter ) :?><?php echo do_shortcode('[types field="km-official-twitter-url" title="Official Twitter"][/types]'); echo '<br />'; ?><?php endif; ?>
<?php if ( $officialfacebook ) :?><?php echo do_shortcode('[types field="km-official-facebook-url" title="Official Facebook"][/types]'); echo '<br />'; ?><?php endif; ?>
<?php if ( $ann ) :?><?php echo do_shortcode('[types field="km-anime-news-network-url" title="AnimeNewsNetwork Page"][/types]'); echo '<br />'; ?><?php endif; ?>
<?php if ( $mal ) :?><?php echo do_shortcode('[types field="km-myanime-list" title="BMyAnime List Page"][/types]'); echo '<br />'; ?><?php endif; ?>

有没有办法让它在没有输入任何东西的情况下不显示这些空格?

2 个答案:

答案 0 :(得分:0)

您需要修改if语句。我没有看到“$ officialblog”链接,但似乎if ( $officialblog )结果为true,因此输出了不需要的<br/>。就像@showdev所说的那样,看看$officialblog值并构建正确的if语句,以便它实际产生false

答案 1 :(得分:0)

您应该检查变量是否为空。像这样:

if ( $officialweb && !empty( $officialweb ) && !is_wp_error( $officialweb ))