PHP wordpress如果文本值为空,则为echo

时间:2014-06-22 00:19:21

标签: php wordpress if-statement

我正在构建一个wordpress主题。在后端,用户可以选择输入他们的社交网络(即推特,脸书,Instagram等)的网址。然后将这些URL动态地添加到链接到相应网络的主题前端中的图像。

我遇到的问题是,如果用户没有输入网络的网址,我就不想要显示图片了。我正在尝试编写代码,如果网址为空,则回显' class ="隐藏"' - 这个类在css中有display:none。

这是我的php的片段:

<ul class="icons">
    <li <?php if (get_theme_mod('footer_twitter')==0) {echo 'class="hidden"'; } ?>><a href="<?php echo get_theme_mod('footer_twitter'); ?> " class="icon circle fa-twitter"><span class="label">Twitter</span></a></li>
</ul>

和css:

ul.icons li.hidden {
   display:none;
}

上面的php代码当前为所有情况输出echo语句,即使在后端输入了url也是如此。任何人都可以帮我解决这个代码

1 个答案:

答案 0 :(得分:1)

检查“get_theme_mod()”的返回你可以通过使用来检查这个,因为我不认为它是“== 0”。 http://codex.wordpress.org/Function_Reference/get_theme_mod

var_dump(get_theme_mod('footer_twitter'));
//string(0)

这是您的新代码:

<ul class="icons">
    <li class="<?php echo empty(get_theme_mod('footer_twitter')) ? 'hidden' : ''; ?>">
        <a href="<?php echo get_theme_mod('footer_twitter'); ?> " class="icon circle fa-twitter">
            <span class="label">Twitter</span>
        </a>
    </li>
</ul>

请检查此语法:http://php.net/manual/en/control-structures.alternative-syntax.php这是在“查看”代码中编码控制结构的最佳方法。