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

OsClass网站产品页多H1标签问题,如何仅显示单个H1?

解决OsClass产品页多个H1标签的问题

核心问题是当前代码同时输出了桌面端和移动端的两组包含<h1>的DOM结构,导致页面中存在两个H1标签。可以通过以下两种方式修复:

方法一:PHP判断设备类型,仅渲染对应设备的H1

利用OsClass内置的设备检测函数,只在对应设备下生成H1标签,从根源避免重复输出。

修改后的整合代码:

<?php if(osc_is_mobile()) { ?>
<div class="basic isMobile">
  <h1>
    <?php if(del_check_category_price(osc_item_category_id())) { ?>
      <div class="price mbCl3 p-<?php echo osc_item_price(); ?>x<?php if(osc_item_price() <= 0) { ?> isstring<?php } ?>"><?php echo osc_item_formated_price(); ?></div>
    <?php } ?>
    
    <?php echo osc_item_title(); ?>
  </h1>
          
  <?php if($make_offer_enabled) { ?>
    <a href="#" id="mk-offer" class="make-offer-link" data-item-id="<?php echo osc_item_id(); ?>" data-item-currency="<?php echo osc_item_currency(); ?>" data-ajax-url="<?php echo mo_ajax_url(); ?>&moAjaxOffer=1&itemId=<?php echo osc_item_id(); ?>"><?php _e('Submit your offer', 'delta'); ?></a>
  <?php } ?>
</div>
<?php } else { ?>
<div class="basic isDesktop isTablet">
  <h1>
    <?php if(del_check_category_price(osc_item_category_id())) { ?>
      <div class="price mbCl3 p-<?php echo osc_item_price(); ?>x<?php if(osc_item_price() <= 0) { ?> isstring<?php } ?>"><?php echo osc_item_formated_price(); ?></div>
    <?php } ?>
    
    <?php echo osc_item_title(); ?>
  </h1>
          
  <?php if($make_offer_enabled) { ?>
    <a href="#" id="mk-offer" class="make-offer-link" data-item-id="<?php echo osc_item_id(); ?>" data-item-currency="<?php echo osc_item_currency(); ?>" data-ajax-url="<?php echo mo_ajax_url(); ?>&moAjaxOffer=1&itemId=<?php echo osc_item_id(); ?>"><?php _e('Submit your offer', 'delta'); ?></a>
  <?php } ?>
</div>
<?php } ?>

解释:通过osc_is_mobile()函数判断当前访问设备是否为移动端,仅渲染对应设备的DOM结构,确保页面中只会存在一个H1标签。

方法二:CSS隐藏多余的H1(快速临时方案)

如果不想修改PHP逻辑,可通过CSS根据设备类隐藏其中一个H1,但这种方式DOM中仍会存在两个H1,仅视觉上隐藏,语义化表现不如方法一。

添加以下CSS到主题样式文件:

/* 移动端隐藏桌面端H1 */
.isMobile .isDesktop.isTablet h1 {
    display: none;
}
/* 桌面/平板端隐藏移动端H1 */
.isDesktop.isTablet .isMobile h1 {
    display: none;
}

优先推荐方法一,更符合SEO语义化要求,彻底解决重复H1的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 18:58:12