WooCommerce 自定义商品价格显示HTML结构

WooCommerce 虽然有中文本地化支持,但整个插件本身是按照欧美人的习惯去开发的,一些细节上不可能做到各个国家或地区的用户满意。下面就用一个例子抛砖引玉,自定义商品价格显示HTML结构。

默认的话,WooCommerce 输出商品价格显示HTML结构是这样的(当商品本身设置了一般价格与优惠价):

<a href=""> <span class="onsale">促销中</span> <img src="xxxx.png"> <h3>商品名称</h3> <span class="price"><del><span class="amount">¥109.00</span></del> <ins><span class="amount">¥99.00</span></ins></span> </a>

前端显示的话类似:

新旧价格的显示大概遵循“¥109.00 ¥99.00”的形式,但根据国人的习惯(不知道是不是这样?),一般显示为 “¥99.00 ¥109.00 ”。要想显示出我们的效果的话,那就可以通过对woocommerce_get_price_html 函数下刀,hook之。

代码如下:

<?php // DeveWork.com //这是一个可以修改woocommerce_get_price_html 函数默认输出的html代码的例子, //作用是调换新旧价格的位置 //感谢http://wordpress.stackexchange.com/questions/83367/how-to-edit-the-get-price-html-on-woocommerce   add_filter( 'woocommerce_get_price_html', 'dw_change_default_price_html', 100, 2 );   function dw_change_default_price_html( $price,$product ){ if ( $product->price > 0 ) { if ( $product->price && isset( $product->regular_price ) ) { $from = $product->regular_price; $to = $product->price; return '<ins><span class="amount">'.( ( is_numeric( $to ) ) ? woocommerce_price( $to ) : $to ) .'</span></ins> <del><span class="amount">'. ( ( is_numeric( $from ) ) ? woocommerce_price( $from ) : $from ) .' </span></del>'; } else { $to = $product->price; return '<ins><span class="amount">' . ( ( is_numeric( $to ) ) ? woocommerce_price( $to ) : $to ) . '</span></ins>'; } } else { return '免费'; } } ?>

代码已经托管到 Github gist 上:https://gist.github.com/Jeff2Ma/91c6f19ab63552be269c

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端黑板报

HTTP2基础教程-读书笔记(一)

《HTTP/2基础教程》到手之后,用了两天时间把它粗略的看完了,大致知道了HTTP/2中的一些概念以及诞生的背景,现在再重读一遍同时做一些笔记。此书适合作为自己...

39070
来自专栏phodal

如何在 8 小时内开发上线一个在线表单系统

欢迎使用 moform,一个无需注册、基于 Serverless 的开源表单系统。 在使用开发了一个精简版的 Serverless 日志存储系统 molog 之...

629110
来自专栏DeveWork

JGulp: 利用Gulp 配置的前端项目自动化工作流

商业竞争时代的Web 开发,效率越来越成为其中决胜的关键因素之一。在前几年的时候,前端是一片荒芜的待开垦之地,开发者更多考虑开阔更多技术疆域;而最近几年,在前端...

239100
来自专栏SDNLAB

数据中心网络架构—VL2

一、背景 随着网络技术的发展,数据中心已经成为提供IT网络服务、分布式并行计算等的基础架构。数据中心应用范围愈加广泛,应用需求不断增加,业务数据量达T/P级以上...

86840
来自专栏DeveWork

WordPress自定义栏目运用实例Ⅰ:添加文章来源

WordPress 的自定义栏目是一个非常强大的功能,借助它,你的WordPress 站点不仅仅可以是博客,也可以是购物店,企业站,CMS等等。如果你对Word...

21190
来自专栏FreeBuf

我是如何破解亚马逊一键购物按钮的?

写在前面的话(原文作者) 怎么和婴儿沟通呢?他/她什么时候睡觉?什么时候起来? 这看起来是个简单的问题,但并不好解决,于是我开始选择一些婴儿跟踪应用程序,但是功...

22460
来自专栏知晓程序

终于过审!首批小程序插件诞生了

19120
来自专栏逍遥剑客的游戏开发

关于游戏自动更新工具的思考

27870
来自专栏Brian

深入浅出 VXLAN

---- 概述 如果大家有做网络或者云计算相关的,大家应该都知道VXLAN以及SDN技术,在之前VPC相关技术、概念和一些技术方案。今天着重来记录一下博主对VX...

1.4K90
来自专栏微信小程序开发

小程序中敏感词过滤——前端实现

1.9K30

扫码关注云+社区

领取腾讯云代金券