未定义的索引。但是SET不起作用了吗?

时间:2014-09-05 作者:Will Drayton

我有通过WP中的主题选项设置的社交图标。当然,如果没有输入,我会得到一个未定义的索引错误。我尝试环绕isset以删除错误,但当我的选项面板保存时,它会显示所有图标?即使它们尚未设置?对如何正确进行isset感到困惑?

<ul class="social-icons">
<?php if ( $theme_global[\'social-twitter\'] ) { ?>
<li><a class="social-twitter" href="<?php echo $theme_global[\'social-twitter\']; ?>" title="<?php _e( \'View Twitter Profile\', \'lang\' ); ?>" target="_blank"><i class="fa fa-twitter"></i><div class="tooltip"><span>Twitter</span></div></a></li>
<?php } if ( $theme_global[\'social-facebook\'] ) { ?>
<li><a class="social-facebook" href="<?php echo $theme_global[\'social-facebook\']; ?>" title="<?php _e( \'View Facebook Profile\', \'lang\' ); ?>" target="_blank"><i class="fa fa-facebook"></i><div class="tooltip"><span>Facebook</span></div></a></li>
<?php } if ( $theme_global[\'social-linkedin\'] ) { ?>
<li><a class="social-linkedin" href="<?php echo $theme_global[\'social-linkedin\']; ?>" title="<?php _e( \'View Linkedin Profile\', \'lang\' ); ?>" target="_blank"><i class="fa fa-linkedin"></i><div class="tooltip"><span>Linkedin</span></div></a></li>
<?php } if ( $theme_global[\'social-pinterest\'] ) { ?>
<li><a class="social-pinterest" href="<?php echo $theme_global[\'social-pinterest\']; ?>" title="<?php _e( \'View Pinterest Profile\', \'lang\' ); ?>" target="_blank"><i class="fa fa-pinterest"></i><div class="tooltip"><span>Pinterest</span></div></a></li>
<?php } ?>
</ul>
非常感谢

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

尝试以下操作:

<?php 
 if ( isset($theme_global[\'social-twitter\']) && \'\' != $theme_global[\'social-twitter\'] ) { ?>
  <li><a class="social-twitter" href="<?php echo $theme_global[\'social-twitter\']; ?>" title="<?php _e( \'View Twitter Profile\', \'lang\' ); ?>" target="_blank"><i class="fa fa-twitter"></i><div class="tooltip"><span>    Twitter</span></div></a></li>
<?php } ?>
首次检查人isset 然后检查该值是否为空。如果有值,则显示它。

SO网友:Will Drayton

尼兰巴太棒了。对于这种类型的代码,我应该如何做到这一点(再次出现未定义的索引错误)-

<?php echo $theme_global[\'google-tracking-code\']; ?> 

结束

相关推荐

Displaying oEmbed errors?

有时,通过oEmbed嵌入项目是不可能的,例如,当YouTube视频已禁用嵌入时。The oEmbed service will return a 401 Unauthorized, 并且不会转换代码。有没有办法通知用户这一点?当前的工作流是非直观的(至少对我来说),我更喜欢在WordPress页面上,或者更好的是,在编辑器中显示一条消息,说明对象无法嵌入。