WordPress中if语句判断字段是否存在并输出内容

建站知识 2025年11月20日

在WordPress中可以使用if语句判断字段是否存在并输出内容。基于你的需求,三个社交图标的完整判断代码如下:

<?php 
// 微博图标 - 判断 weibo 字段
$weibo = of_get_option('weibo');
if (!empty($weibo)) : ?>
    <a href="<?php echo esc_url($weibo); ?>" target="_blank" rel="noopener">
        <i class="fa fa-weibo"></i>
    </a>
<?php endif; ?>

<?php 
// 微信图标 - 判断 weixin 字段  
$weixin = of_get_option('weixin');
if (!empty($weixin)) : ?>
    <a href="#" data-bs-toggle="modal" data-bs-target="#weixin-Modal">
        <i class="fa fa-weixin mx-3"></i>
    </a>
<?php endif; ?>

<?php 
// QQ图标 - 判断 qq 字段
$qq = of_get_option('qq');
if (!empty($qq)) : ?>
    <a href="http://wpa.qq.com/msgrd?v=3&uin=<?php echo urlencode($qq); ?>&site=qq&menu=yes" target="_blank" rel="noopener">
        <i class="fa fa-qq"></i>
    </a>
<?php endif; ?>

代码说明:

字段获取:先用 of_get_option() 获取字段值并存储在变量中

非空判断:使用 if (!empty($value)) 判断字段是否存在且有值

安全输出:使用 esc_url() 和 urlencode() 对输出内容进行安全处理

rel=”noopener”:添加安全属性,防止新标签页恶意行为

简化版(如果你希望更简洁):

<?php if ($weibo = of_get_option('weibo')) : ?>
    <a href="<?php echo esc_url($weibo); ?>" target="_blank" rel="noopener"><i class="fa fa-weibo"></i></a>
<?php endif; ?>

<?php if (of_get_option('weixin')) : ?>
    <a href="#" data-bs-toggle="modal" data-bs-target="#weixin-Modal"><i class="fa fa-weixin mx-3"></i></a>
<?php endif; ?>

<?php if ($qq = of_get_option('qq')) : ?>
    <a href="http://wpa.qq.com/msgrd?v=3&uin=<?php echo urlencode($qq); ?>&site=qq&menu=yes" target="_blank" rel="noopener"><i class="fa fa-qq"></i></a>
<?php endif; ?>

这样当某个社交账号未填写时,对应的图标就不会显示在前端页面上。