基于FoundationPress(Foundation6),如何仅为WooCommerce店铺首页自定义内容?
解决FoundationPress中仅WooCommerce店铺首页添加自定义内容的问题
嘿,我帮你梳理下解决思路,两种方法都能搞定这个需求,看你偏好哪种:
方法一:创建店铺首页专属模板文件
WooCommerce本身有一套模板层级规则,店铺首页对应的专属模板是shop.php,FoundationPress默认可能没自带这个文件,所以我们可以自己生成:
- 复制你当前主题里的
woocommerce.php文件,把它重命名为shop.php - 打开这个新的
shop.php,在你想要展示自定义内容的位置(比如产品列表区块的上方或下方)插入你的内容(HTML、短代码都可以) - 把这个文件放在主题根目录(或者主题的
woocommerce子目录里,优先级更高)
这样一来,只有访问店铺首页时,WooCommerce会自动调用shop.php,你的自定义内容就只会在这里显示;其他店铺页面(比如商品分类页、单产品页)还是会用原来的woocommerce.php,不会带上这段内容。
方法二:在现有woocommerce.php里加条件判断
如果你不想额外新建模板文件,直接在现有的woocommerce.php里加个判断逻辑就行:
- 找到你要插入自定义内容的位置,用WooCommerce提供的
is_shop()函数来检测当前页面是否是店铺首页 - 示例代码如下,你可以把这段代码放在合适的位置:
<?php if (is_shop()) : ?> <!-- 这里替换成你的自定义内容 --> <div class="custom-shop-banner"> <h2>欢迎光临我们的店铺!</h2> <p>这是只有店铺首页才会显示的专属内容哦~</p> </div> <?php endif; ?>
这段代码的逻辑很简单:只有当当前页面是店铺首页时,才会渲染里面的内容,其他页面会直接跳过。
小提醒
不管用哪种方法,都建议用子主题来修改,不然主题更新后你的修改会全部丢失。FoundationPress支持子主题,把修改后的文件放在子主题对应位置就好啦。
内容的提问来源于stack exchange,提问作者CuCo
相关产品推荐
相关产品推荐

