在 woocommerce 中隐藏折扣信息而不取消优惠券

2024-02-11

我在 Woocommerce 购物车中使用优惠券进行计算。它会自动为总额添加折扣,以便可以将正确的金额发送到支付网关。

我想向访客隐藏有关此优惠券/折扣的所有信息。

Problem:我发现的唯一方法(见下文)隐藏优惠券字段、行(总计)和消息,但也禁用优惠券...

add_filter( 'woocommerce_coupons_enabled', 'hide_coupon_field' );
function hide_coupon_field( $enabled ) {
    if ( is_cart() || is_checkout() ) {
        $enabled = false;
    }
    return $enabled;
}

是否有一个钩子可以隐藏与折扣相关的所有内容而不取消优惠券?


EDIT:看起来不可能简单地删除折扣线订单详细信息。因此,受 helgatheviking 建议启发,一个简单的解决方案可能是删除这部分生成的所有总数

<?php if ( $totals = $order->get_order_item_totals() ) foreach ( $totals as $total ) : ?>
            <tr>
                <th scope="row"><?php echo $total['label']; ?></th>
                <td><?php echo $total['value']; ?></td>
            </tr>
    <?php endforeach; ?>

然后按照我需要的方式一一回应它们。我已经可以用这个显示订单总数

<td><?php echo number_format($order->get_total(),2,'.','')."&#8364;"; ?></td>

但现在我正在尝试找回订单小计,以及这段代码

<td><?php echo number_format($order->get_item_subtotal(),2,'.','')."&#8364;"; ?></td>

给我一个警告:缺少 WC_Order::get_item_subtotal() 的参数 1。

我不确定是否get_item_subtotal()是获取订单小计的正确方法。如果是这样,还缺少什么论据?或者我应该四处寻找get_line_subtotal or get_subtotal_to_display?


不,似乎没有,因为里面没有过滤器get_coupons()购物车类的方法。如果您访问 WooCommerce git 存储库并在此处发送了带有过滤器的拉取请求并解释了为什么它应该在那里,他们可能会考虑将其合并。我已经这样做过几次了。

您还可以复制checkout/review-order.php and cart/cart-totals.php将模板添加到您的主题中并删除以下两块代码:

<?php foreach ( WC()->cart->get_coupons( 'cart' ) as $code => $coupon ) : ?>
                <tr class="cart-discount coupon-<?php echo esc_attr( $code ); ?>">
                    <th><?php wc_cart_totals_coupon_label( $coupon ); ?></th>
                    <td><?php wc_cart_totals_coupon_html( $coupon ); ?></td>
                </tr>
            <?php endforeach; ?>

and

<?php foreach ( WC()->cart->get_coupons( 'order' ) as $code => $coupon ) : ?>
    <tr class="order-discount coupon-<?php echo esc_attr( $code ); ?>">
        <th><?php wc_cart_totals_coupon_label( $coupon ); ?></th>
        <td><?php wc_cart_totals_coupon_html( $coupon ); ?></td>
    </tr>
<?php endforeach; ?>

请记住,这会阻止显示所有优惠券折扣,并且最终将类似于以下屏幕截图:

我不喜欢重写更复杂的 WC 模板...尤其是与结账流程相关的模板。我必须修复许多随着 WooCommerce 的发展而主题模板覆盖变得过时而停止工作的网站。

Edit

我找到了折扣行order/order-details.php模板。这是从函数$order->get_order_item_totals()...这将返回一个行数组并且可以进行过滤。因此,这将从订单接收页面中删除该行:

function so_25714509_get_order_item_totals( $total_rows ){
    unset( $total_rows['order_discount'] );
    return $total_rows;
}
add_filter( 'woocommerce_get_order_item_totals', 'so_25714509_get_order_item_totals' );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 woocommerce 中隐藏折扣信息而不取消优惠券 的相关文章

  • 使用 Gravity Forms 和 Javascript 计算一个输入字段的长度并在另一个输入字段中打印它

    我正在使用 WordPress 的重力形式 我试图弄清楚如何计算用户在我的一个输入框中键入的字符的长度 并将该数字以相同的形式打印到另一个输入框 我认为这可以用 Javascript 来完成 但我是一个完全的新手 这是我非常淡化的努力 只是
  • 自定义帖子 wp_query 的分页

  • Woocommerce 预订中每人和每件商品的动态结账自定义字段

    对于预订网站 我正在尝试创建一个功能 可以根据人数添加与会者列表 感谢 LoicTheAztec 我已经获得了单次预订的代码 那部分工作正常 我还需要相同的功能来进行多次预订 我怎样才能实现这个目标 这是代码 Add a new check
  • 如何向 WordPress.com 上托管的 WordPress 博客添加语法突出显示?

    我希望为我的 WordPress 博客提供一个好的语法荧光笔 我有哪些选择 我经常看到它具有颜色鲜艳的语法突出显示和复制到剪贴板的选项 有谁知道这是什么工具吗 在 wordpress com 上 您无法安装插件 因此您必须使用 Wordpr
  • 根据 WooCommerce 中的特定付款方式添加费用

    在 WooCommerce 中 我需要为特定支付网关申请自定义手续费 我这里有这段代码 如何向 WooCommerce Checkout 添加手续费 http www endocreative com add handling fee wo
  • WordPress 访问

    我正在与朋友一起开发一个网站 使用Wordpress我们正在尝试从我的计算机和他的计算机访问同一个 WordPress 帐户 以便我们可以一起在网站上工作 我们尝试将彼此添加为管理员 但只能从创建管理员的计算机上访问新帐户 有谁知道如何做到
  • 如果在 Woocommerce 中应用了任何优惠券代码,请删除一些支付网关

    我开始从事小型 Woocommerce 项目 我有 3 个支付网关进入这家商店 Paypal 信用卡和直接银行转账 我想要的是 如果使用优惠券代码 我想从可用的支付网关中禁用 或删除 Paypal 和信用卡 并仅保留 直接银行转账 作为可用
  • WordPress 计划事件未在设定时间触发

    在 WordPress 中 我正在创建一个插件 用于向用户发送电子邮件 为此 我使用 WordPresscron工作 所以基本上它要做的就是每小时向用户发送电子邮件 所以我的代码看起来像这样 public function construc
  • 带有 .htaccess 的漂亮网址?

    我刚刚创建了一个新的 WordPress 页面模板 在其中运行一些 php mysql 脚本 我想对其子页面应用 mod 重写 例如我生成了以下链接 http www quotist com quotes by authors html l
  • WordPress WooCommerce - 使用 WC_Cart 类将可变产品添加到购物车

    我正在尝试将可变产品添加到 WordPress 插件 WooCommerce 的购物车中 到目前为止 我已经能够添加单一 简单的产品 woocommerce gt cart gt add to cart product id quantit
  • Woocommerce 获取产品

    我使用以下代码从我的 WordPress 网站中的 WooCommerce 获取产品类别列表
  • 多文件上传字段的重力形式预览缩略图

    我们使用重力形式将多个图像附加到图库自定义字段并创建新帖子 我们不知道如何在 HTML5 导入字段下显示图像缩略图 而不仅仅是在提交表单之前显示文件名 之前的答案仅涵盖单个文件上传 图片上传重力形式预览 https stackoverflo
  • 我的设置未保存在 WordPress 主题选项页面中

    我正在尝试创建一个基于 WordPress 设置 API 的主题选项页面 当我在浏览器中检查 options php 页面时 例如http mysite com wordpress wp admin options php http mys
  • 计算特定产品类别的购物车商品数量

    我试图仅从 WooCommerce 中的特定产品类别获取购物车中的商品数量 我正在为一家酒厂做一个网站 它有酒精和非酒精产品 所有葡萄酒都属于 葡萄酒 主类别或类别 ID 34 其下有许多子类别和产品 对于属于此类别的任何商品 我需要知道此
  • WordPress 网站的团队开发

    我不是 WordPress 开发人员 但我正在尝试确定团队使用 WordPress 的最佳方式 对于 Rails 项目或大多数其他项目来说 在本地工作并在上游部署很容易 但我的理解是 WordPress 并没有让这变得那么容易 也许这是一个
  • WordPress 网站上出现数据库错误“一个或多个数据库表不可用”

    Error One or more database tables are unavailable The database may need to be repaired 我怎么解决这个问题 wp config php 是正确的 我使用
  • wordpress - 像 stackoverflow 中那样内嵌 ajax 注释

    我有一个 WordPress 博客 希望为人们提供与 stackoverflow 中添加评论相同的用户体验 有很多评论 ajax 插件 但我找不到一个可以使用的插件 它允许您在主页上内联 进入并添加评论 而无需先深入到单独的单个帖子页面 任
  • 将按钮文本放在一行上

    我的按钮文本在 safari 中显示在一行上 即使在初次单击后 但是在 google chrome 上 当您第一次到达该按 钮时 我的按钮将显示在一行上 但是当您浏览更多帖子并再次遇到 加载更多 按钮时 文本搞砸了 这只发生在谷歌浏览器上
  • WordPress 包含 SVG 文件错误

    我使用 PHP 和 WordPress 在本地主机上 我可以毫无问题地包含 SVG 文件 但在实时服务器上 我尝试包含一个 SVG 文件以便能够使用 CSS 对其进行样式设置 我收到此错误消息 Parse error syntax erro
  • 在 WooCommerce 中添加到购物车之前清空购物车

    我正在使用 WP 作业管理器和 Woo Subscriptions Now 最初 我选择了一个套餐 Woo Subscription 然后我添加了所有细节 但没有提交 回到网站 所以要再次购买 我需要选择一个套餐 于是我选择了套餐并填写了详

随机推荐

  • Gatsby GraphQL 查询多个图像

    我正在努力弄清楚如何在 Gatsby Js 中使用 GraphQL 查询多个特定图像 我最初的想法是做这样的事情 file relativePath eq images front jpg id file relativePath eq i
  • Foundation 6 画布外菜单点击后自动关闭

    我一直在搜索如何在单击某些菜单项后自动关闭画布外菜单 但似乎没有任何效果 因此 我按照 Foundation 6 文档上有关如何制作画布外菜单的指南进行操作 并且它有效 这部分还可以 现在 当我单击某个链接菜单时 它会停留在那里 我希望它关
  • 摄像头下方有一个黑色的底部空间

    我正在介绍一个UIImagePickerController from a UITabBarController let imagePicker UIImagePickerController imagePicker delegate se
  • 预下载所有依赖项

    我需要将 Maven 构建 Java 项目发布给远程 QA 团队 为此 我想下载所有依赖项 然后发送它们 这样他们就不需要下载它们 目前所有依赖项都定义在pom xml文件 我们使用mvn install or mvn package构建项
  • 如何删除Selectbox/Checkbox的默认状态?

    我想知道如何删除选择框的默认箭头和复选框中的渐变 并且我想在其上使用自定义图像 例如 这是一些代码
  • 尝试解析 LocalDateTime 时出现异常

    我正在使用以下时间戳格式 yyyyMMddHHmmssSSS 以下方法效果很好 public static String formatTimestamp final Timestamp timestamp final String form
  • 如何查看 select2 实例的设置选项?

    我想要将选项设置为 select2 实例 特别是如果allowClear 选项设置为 true 或 false 浏览对象我发现了allowClear选项 jQuery gt select2 gt 选项 gt 选项 but I don t k
  • 为什么我无法为对话框视图中的按钮设置 onClickListener?

    我有一个自定义对话框 如下所述 我的自定义对话框布局 my dialog xml 其中只包含一个 关闭 按钮
  • CSS动画闪烁,尝试了我能找到的所有技巧

    我正在 Codepen 中制作一个简单的动画 诗淡入 然后单词 也是按钮 淡入 用户单击单词 它会更改为诗的下一部分 我的问题是 在淡出开始之前 诗歌和单个单词会闪烁 我已经尝试了所有我能找到的技巧 并添加 webkit backface
  • Heroku pg:psql 停止运行

    当我跑步时heroku pg psql i get gt Connecting to postgresql cylindrical 38664 并熄火 一切看起来都很顺利 但它只是卡住了 什么也没做 我似乎在 gitbash 中遇到了同样的
  • 在 perl 中读取和写入文件

    this is just an example 假设上面是out txt 我想读书out txt并写入同一个文件
  • 在 Android 中从纬度/经度获取企业名称或地标

    好吧 我已经为此搜索了相当长的时间 我有一个距我新发现的位置的纬度 经度 geocoder 的 getFromLocation 从纬度 经度返回一定数量的地址 这一切都很好 然后我将它放入一个适配器中 该适配器填充了一个旋转器 也运行得很好
  • UIButton 在单元格被触摸时也会突出显示

    I ve a UIButton在我弹出的表格单元格上 touchUpInside a UIAlertView并询问用户是否要删除与该单元格关联的文件 否则 触摸单元格本身会突出显示该单元格 然后移动到下一个级别以显示内容 问题是当细胞sel
  • 如何在一定时间后重试功能请求

    如果用户数据为空 如何让它重试发送尝试 最多重试 2 次 10 秒后重试 1 次 public class UserHandler private List users new ArrayList public void addUser u
  • 绕过 requiredfieldvalidator

    我有一个网络表单 上面有验证器 当用户按下提交按钮时 验证器可以很好地工作 但是 当用户按下注销按钮时 验证器会停止该按钮的工作 关于如何解决这个问题有什么建议吗 您需要使用CausesValidation按钮上的属性
  • nf_conntrack_helper注册未注册端口返回错误

    我有以下代码从内核 3 18 取消注册和注册 sip conntrack static void nf conntrack sip fini void int i j for i 0 i lt ports c i for j 0 j lt
  • 在没有 gitosis/gitolite 的情况下通过 SSH 运行“安全”git 服务器?

    是否可以通过 ssh 运行 git 服务器 使用authorized keys and command 限制仅访问 git 存储库 而不使用 gitosis gitolite 是的 分配git shell http www kernel o
  • 获取 Youtube 数据 API 的 403 禁止错误

    我在对 YouTube 数据 API 进行 API 调用时收到 403 禁止错误 我尝试生成不同类型的密钥 Web 浏览器 服务器等 钥匙不受限制 我尝试从服务器和 Chrome 的邮递员拨打电话 请求 URL 和响应如下 https ww
  • 访问 AVRO GenericRecord (Java/Scala) 中的嵌套字段

    我有一个带有嵌套字段的 GenericRecord 当我使用genericRecord get 1 它返回一个包含嵌套 AVRO 数据的对象 我希望能够像这样访问该对象genericRecord get 1 get 0 但我不能 因为 AV
  • 在 woocommerce 中隐藏折扣信息而不取消优惠券

    我在 Woocommerce 购物车中使用优惠券进行计算 它会自动为总额添加折扣 以便可以将正确的金额发送到支付网关 我想向访客隐藏有关此优惠券 折扣的所有信息 Problem 我发现的唯一方法 见下文 隐藏优惠券字段 行 总计 和消息 但