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

WordPress中PHP条件判断隐藏内容时,容器标签不显示问题

问题分析与解决方案

你的问题核心是:当自定义字段有内容时,外层的.lgst-box容器及内部标题标签未被正确渲染,仅显示字段的纯文本内容。

可能的原因

最常见的问题是rh_woo_code_zone()函数的行为是直接输出内容,而非返回内容。当你在if条件中调用rh_woo_code_zone('content')时,函数会立即输出字段内容,之后才执行容器标签的输出,这会导致浏览器解析顺序混乱,容器标签被后置或忽略,最终只显示先输出的纯文本。

解决方案

方案1:使用函数的返回模式(优先推荐)

查看rh_woo_code_zone函数的文档或源码,确认是否支持返回内容而非直接输出。通常这类函数会有参数控制输出方式,示例代码如下:

<?php
// 先获取内容而不直接输出
$faq_content = rh_woo_code_zone('content', false);
if ($faq_content) : ?>
  <div class="lgst-box" id="veelgestelde-vragen">
    <div class="box-title mb15">
      <h2 class="text-upper">Veelgestelde Vragen</h2>
    </div>
    <div class="box-content">
      <?php echo $faq_content; ?> 
    </div>
  </div>
<?php endif; ?>

方案2:直接检查自定义字段值

如果rh_woo_code_zone没有返回模式,直接通过WordPress原生函数检查字段是否存在并获取内容:

<?php
// 替换为自定义字段的实际键名
$faq_content = get_post_meta(get_the_ID(), '对应的字段键名', true);
if ($faq_content) : ?>
  <div class="lgst-box" id="veelgestelde-vragen">
    <div class="box-title mb15">
      <h2 class="text-upper">Veelgestelde Vragen</h2>
    </div>
    <div class="box-content">
      <?php echo do_shortcode($faq_content); // 若字段包含短代码需添加此解析 ?>
    </div>
  </div>
<?php endif; ?>

额外排查点

  • 确认主题或插件未对输出内容做HTML转义过滤(如esc_html),导致标签被转义为纯文本。
  • 打开浏览器开发者工具的元素面板,检查容器标签是否实际存在但被CSS隐藏,或位置异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:47:27