Foundry WordPress主题导航栏覆盖WooCommerce商店及商品详情页问题求助
问题根因
- Foundry 主题的固定导航栏偏移逻辑仅适配了默认普通页面,未覆盖 WooCommerce 注册的自定义页面类型:商店归档页(
woocommerce-shop)、单商品详情页(single-product),所以这两类页面不会自动加上和导航栏高度匹配的顶部间距,导致内容从页面最顶部开始渲染被导航栏覆盖。 - 你之前的 CSS 未生效是因为选择器适配范围不对:WooCommerce 自动生成的页面内容结构类名和普通手动编辑的页面存在差异,
.main-container .page-title仅能匹配普通页面的标题区块,无法命中 Woo 页面的内容容器,同时未加 Woo 页面专属的 body 类标识,优先级不够被主题默认样式覆盖。 - 你做的替换测试已经验证了根源:页面取消绑定为 WooCommerce 商店页时,走的是普通 WP 页面的主题渲染逻辑,会自动加载导航偏移样式、也会读取你用 WP Bakery 配置的页面间距属性,所以显示正常;绑定为商店页后走 WooCommerce 模板渲染逻辑,跳过了主题的导航偏移适配步骤,问题复现。
解决方案
方案1(优先推荐)
进入主题配置面板(外观 > 自定义 或 Foundry 自带的主题选项页),找到 WooCommerce 兼容设置项,开启「固定导航栏适配 WooCommerce 页面」的开关,保存后清空缓存即可生效,无需手动写代码。
方案2(手动CSS修复)
如果找不到上述配置项,将以下 CSS 代码添加到「外观 > 自定义 > 额外CSS」的输入框中,保存即可:
/* 适配WooCommerce商店页、单商品页的顶部导航偏移,270px可根据你的导航实际高度调整 */ body.woocommerce-shop .main-container, body.single-product .main-container { margin-top: 270px !important; }
注意事项
不要将 CSS 写在单个页面的自定义CSS区域,WooCommerce 自动生成的页面不会加载单页自定义样式,必须写到全局额外CSS中才能生效。
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

