如何在WooCommerce Force Sells商品标题旁添加价格显示?
实现WooCommerce Force Sells商品标题旁显示价格的方法
当然可以实现这个需求!而且非常不建议直接修改Force Sells的核心代码(毕竟插件更新后你的修改会被直接覆盖),推荐用插件内置的过滤器来完成,下面是具体方案:
方法一:使用过滤器(推荐)
Force Sells插件专门提供了wc_force_sells_item_name过滤器,用来修改强制销售商品的显示名称。你只需要把下面的代码添加到当前主题的functions.php文件,或者自定义功能插件中即可:
add_filter( 'wc_force_sells_item_name', 'append_price_to_force_sells_title', 10, 3 ); function append_price_to_force_sells_title( $item_name, $product_id, $force_sell_type ) { // 获取对应商品的对象 $product = wc_get_product( $product_id ); if ( $product && $product->get_price() ) { // 按照店铺货币设置格式化价格 $formatted_price = wc_price( $product->get_price() ); // 把价格以要求的格式拼接到标题末尾 $item_name .= ' (' . $formatted_price . ')'; } return $item_name; }
这段代码的逻辑很清晰:
- 监听强制销售商品名称的输出事件
- 获取商品的价格并自动适配你的店铺货币格式
- 将价格以
($XX.XX)的格式追加到商品标题后
方法二:修改插件核心代码(不推荐)
如果因为特殊场景必须修改插件代码,找到Force Sells中输出商品标题的代码片段(通常在class-wc-force-sells.php或相关模板文件里),找到类似这样的代码:
echo esc_html( $product->get_name() );
把它替换成:
echo esc_html( $product->get_name() . ' (' . wc_price( $product->get_price() ) . ')' );
⚠️ 特别提醒:这种方法的弊端很明显——每次Force Sells插件更新后,你修改的代码都会被覆盖,需要重新手动修改,所以优先选择过滤器方案。
内容的提问来源于stack exchange,提问作者Thorned Rose
相关产品推荐
相关产品推荐

