Avada主题下为WooCommerce搜索结果页添加商品价格
在Avada模板的WooCommerce搜索结果页添加价格字段的解决方向
以下是几个可行的实现路径,按优先级推荐:
1. 使用WooCommerce动作钩子(无需修改模板文件)
Avada完全兼容WooCommerce的钩子体系,你可以在子主题的functions.php中添加代码,通过钩子插入价格:
add_action( 'woocommerce_after_shop_loop_item_title', 'show_product_price_on_search', 5 ); function show_product_price_on_search() { global $product; // 确保当前对象是产品 if ( is_a( $product, 'WC_Product' ) ) { echo '<div class="price">' . wc_get_price_html( $product ) . '</div>'; } }
- 优先级设为
5,可让价格显示在产品摘要之前(默认价格钩子优先级为10,可按需调整) - 代码会自动在所有shop类页面(包括搜索结果)的产品项中插入价格
2. 复制并修改Avada的WooCommerce模板文件(子主题操作)
Avada对WooCommerce模板做了自定义,直接修改主主题文件会被更新覆盖,必须通过子主题操作:
- 找到Avada主题目录下的
woocommerce/content-product.php(这是产品循环的通用模板,搜索结果页会调用) - 将该文件复制到子主题的
woocommerce/目录下(保持目录结构一致) - 在文件中找到产品摘要的位置(通常是
<?php echo apply_filters( 'woocommerce_short_description', $post->post_excerpt ); ?>),在其前后添加价格代码:<?php if ( is_a( $product, 'WC_Product' ) ) : ?> <div class="price"><?php echo wc_get_price_html( $product ); ?></div> <?php endif; ?>
3. 检查Avada的自定义布局设置
如果你的搜索结果页是用Avada Builder创建的自定义布局:
- 进入Avada > Layouts,找到“Search Results”对应的布局
- 编辑该布局,找到产品循环的模块(通常是“Products”或“Archive Products”)
- 进入模块设置,开启“显示价格”选项,或者添加自定义字段模块输出产品价格
4. 排查Avada的WooCommerce全局设置
再次确认Avada的WooCommerce配置:
- 进入Avada > WooCommerce > Shop Archive
- 找到“Product Elements”区域,检查“Show Price”是否勾选,搜索结果页会继承该设置
内容的提问来源于stack exchange,提问作者Craig J
相关产品推荐
相关产品推荐

