You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于数据库数据可用性控制商品页视频及360°全景照按钮显示

实现方案

核心逻辑为提前读取对应资源的自定义字段值,做非空有效性校验后,再决定是否渲染对应按钮,原有按钮的功能、样式不会受到任何影响。

具体修改逻辑

  • 先将视频、360°全景照的链接分别读取为变量,避免重复调用get_post_meta方法
  • 分别对两个链接变量做非空校验,仅当变量存储了有效链接时才输出对应的按钮代码
  • 使用empty()函数做校验,可同时过滤空字符串、null、全空格等无效值,覆盖所有无有效资源的场景

修改后的完整代码

<div class="visual-content-buttons">
    <?php 
        // 获取视频资源链接,判断是否存在有效内容
        $video_link = get_post_meta($product->id, 'video', true);
        if (!empty($video_link)) : 
    ?>
    <a class="image-button" href="<?php echo esc_url($video_link); ?>" data-featherlight="iframe">
        <img src="https://leckys.com.au/wp-content/uploads/2021/09/360-green-2.png" alt="360 Photo">视频
    </a>
    <?php endif; ?>

    <?php 
        // 获取360°全景照资源链接,判断是否存在有效内容
        $panorama_link = get_post_meta($product->id, '360_photo', true);
        if (!empty($panorama_link)) : 
    ?>
    <a class="image-button" href="<?php echo esc_url($panorama_link); ?>" data-featherlight="iframe">
        <img src="https://leckys.com.au/wp-content/uploads/2021/09/360-green-2.png" alt="360 Photo">360°全景照
    </a>
    <?php endif; ?>
</div>

代码中额外增加了esc_url()方法对输出的链接做转义处理,符合WordPress开发规范,可避免XSS安全风险,不需要的话可以直接删除该方法,不会影响核心显示逻辑。

内容的提问来源于stack exchange,提问作者Jordan h

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:18:03