WooCommerce如何调用代码显示带货币符号的产品价格?
WooCommerce 指定位置展示产品价格解决方案
核心问题解答
- 关于
post_id:需要替换为你要展示价格的对应产品实际ID,你可以在WordPress后台产品列表页,将鼠标悬停在对应产品名称上,浏览器底部状态栏就能看到对应的数字ID。 - 关于代码放置位置,分两种常用场景,推荐用短代码方案对无开发基础的用户更友好:
方案1:在PHP模板文件中直接插入
直接在你要展示价格的主题模板对应位置,放入如下完整可用代码即可(你原来的代码仅能获取原始价格数字,没有带货币格式也没有输出,直接用不会显示内容):
// 将123替换为你的目标产品ID $target_product_id = 123; $product = wc_get_product( $target_product_id ); if ( $product ) { // 输出带后台设置货币符号的当前售价 echo wc_price( $product->get_price() ); // 如需展示带划线原价的促销价格式,注释上一行、取消下一行注释即可 // echo $product->get_price_html(); }
方案2:通用短代码方案(适合文章/页面/小工具等位置插入)
无需每次修改模板,先将如下代码添加到当前使用主题的functions.php文件末尾:
// 自定义产品价格短代码,调用格式 [wc_product_price id="产品ID"] add_shortcode( 'wc_product_price', function ( $atts ) { $atts = shortcode_atts( [ 'id' => '', ], $atts ); if ( empty( $atts['id'] ) || ! class_exists( 'WooCommerce' ) ) { return ''; } $product = wc_get_product( absint( $atts['id'] ) ); return $product ? $product->get_price_html() : ''; } );
添加完成保存后,你想在任意位置展示产品价格,只需要插入短代码[wc_product_price id="123"]即可,将123替换为对应产品ID即可,支持在文章编辑器、页面编辑器、文本小工具中直接使用。
注意事项
- 修改主题文件前建议先备份对应文件,避免语法错误导致站点异常
- 如果你使用的是官方发布的公开主题,建议将代码添加到子主题的
functions.php中,避免主题更新后自定义代码被覆盖 - 你原代码里的三个方法作用分别为:
get_regular_price()获取产品原价、get_sale_price()获取产品促销价、get_price()获取产品当前实际售价,三者返回值均为纯数字,需要用wc_price()包裹才会自动应用你后台设置的货币格式、货币符号。
内容的提问来源于stack exchange,提问作者PaulTDS
相关产品推荐
相关产品推荐

