我正在构建一个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也是如此。任何人都可以帮我解决这个代码
答案 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这是在“查看”代码中编码控制结构的最佳方法。