根据 WooCommerce 中其他运输方式的可用性隐藏运输方式

2023-12-10

我试图根据其他运输方式(通过其 ID)的可用性来隐藏运输方式,以实现稍微复杂的运输设置。

根据我发现的其他代码片段(对于其他用例,排除州或仅显示免费送货(如果有)),我想出了这个:

function hide_duplicate_shipping_methods ( $rates ) {
  
  foreach ( $rates as $rate_id => $rate ) {
    
    if ( 'flat_rate:10' === $rate->method_id ) {
        unset( $rates['flat_rate:28'] );
    }
  }
  return $rates;
}
add_filter( 'woocommerce_package_rates', 'hide_duplicate_shipping_methods', 100 );

然而,这并没有隐藏任何东西,我真的找不到或想到任何其他东西。

有什么建议吗?


  • $rate->method_id将等于local_pickup, free_shipping, flat_rate, etc..

  • while $rate_id将等于local_pickup:1, free_shipping:2, etc..

所以要么你这样使用它:

function filter_woocommerce_package_rates( $rates, $package ) { 
    // Loop trough
    foreach ( $rates as $rate_id => $rate ) {
        // Checks if a value exists in an array, multiple can be added, separated by a comma
        if ( in_array( $rate->method_id, array( 'local_pickup', 'free_shipping' ) ) ) {
            unset( $rates['flat_rate:28'] );
        }
    }   
    
    return $rates;
}
add_filter( 'woocommerce_package_rates', 'filter_woocommerce_package_rates', 10, 2 );

或者像这样:

function filter_woocommerce_package_rates( $rates, $package ) { 
    // Loop trough
    foreach ( $rates as $rate_id => $rate ) {
        // Checks if a value exists in an array, multiple can be added, separated by a comma
        if ( in_array( $rate_id, array( 'local_pickup:1', 'free_shipping:2' ) ) ) {
            unset( $rates['flat_rate:28'] );
        }
    }   
    
    return $rates;
}
add_filter( 'woocommerce_package_rates', 'filter_woocommerce_package_rates', 10, 2 );

代码进去functions.php活动子主题(或活动主题)的文件。已在 Wordpress 5.8.1 和 WooCommerce 5.8.0 中测试并运行

不要忘记清空购物车以刷新运输缓存数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据 WooCommerce 中其他运输方式的可用性隐藏运输方式 的相关文章

  • 限制 WooCommerce 上的域名注册

    如何限制用户电子邮件对 WooCommerce 注册中特定域的访问 我发现这段代码可以做到这一点 但由于某种原因它在 WooCommerce 注册表单上不起作用 如果我进入 WP 登录页面 它就会起作用 任何帮助表示赞赏 function
  • WordPress 按标题获取帖子,例如

    我正在尝试为 WordPress 创建一个小型搜索功能 AJAX 调用应该获取标题类似的所有帖子 quote 是否有可能在内部实现这种情况get posts 功能 别误会我的意思 阿贾克斯工作正常 我的functions php 中有aja
  • 网站地址 URL 更改后,Wordpress 中未显示很棒的字体图标

    对于那些比我更精通编码的人来说 这可能是一个明显的问题 但我在 WordPress 中创建了一个网站 但他们的域名托管在其他地方 他们更改了 A 名称 现在它指向该网站 但字体很棒的图标现在是方框 我怎样才能解决这个问题 有简单的方法吗 非
  • WordPress Symfony 共存

    我们有一个在 Symfony 上运行的网站 它是由比我更有能力的人开发的 不过 我对 WordPress 非常熟悉 并将在该网站上安装一个博客 目前 该网站的根运行在 Symfony 上 但我希望 WordPress 能够接管 而不必触及
  • 在 Woocommerce 商店页面中显示可变产品的默认变化价格

    I m wondering how I can display the product price on the shop page Right now my variable products are shown with their p
  • 如何向 WordPress.com 上托管的 WordPress 博客添加语法突出显示?

    我希望为我的 WordPress 博客提供一个好的语法荧光笔 我有哪些选择 我经常看到它具有颜色鲜艳的语法突出显示和复制到剪贴板的选项 有谁知道这是什么工具吗 在 wordpress com 上 您无法安装插件 因此您必须使用 Wordpr
  • 使用 Wordpress 验证 Flask API

    我有两个网站 一个托管大部分内容的 WordPress 博客 我还用 Flask 编写了一个 API 我想在 Wordpress 受密码保护的页面 中使用 API 但我需要在 Flask 响应之前验证请求是否经过身份验证 当我收到对 Fla
  • 根据 WooCommerce 中的特定付款方式添加费用

    在 WooCommerce 中 我需要为特定支付网关申请自定义手续费 我这里有这段代码 如何向 WooCommerce Checkout 添加手续费 http www endocreative com add handling fee wo
  • 如何在 Woocommerce 2.5.2 中显示“wordpress 页面中的类别产品下拉菜单”

    我想显示某个类别中产品的下拉菜单
  • 替代 header("Content-type: text/xml");

    是否存在与以下内容等效的内容 header Content type text xml 我将 Google 地图与 Wordpress 一起使用 但收到 标头已发送 错误 我已经检查了所有文件并删除了所有空白 但错误仍然出现 所以只是想知道
  • docker-compose mysql 容器拒绝访问 wordpress 容器

    我遇到 mysql 5 7 容器拒绝访问 wordpress 容器的问题 我正在使用 docker compose 并且在 Mac OSX 上运行 docker Docker 应该是可用的最新版本 这是我的 docker compose y
  • YouTube 数据 api 未按 viewCount 排序

    我正在尝试按 viewCount 从高到低排序 YouTube 频道视频 但结果并不是按最大观看次数排序 以下是我正在使用的 API https www googleapis com youtube v3 search key api ke
  • Woocommerce 获取产品

    我使用以下代码从我的 WordPress 网站中的 WooCommerce 获取产品类别列表
  • WordPress 网站的团队开发

    我不是 WordPress 开发人员 但我正在尝试确定团队使用 WordPress 的最佳方式 对于 Rails 项目或大多数其他项目来说 在本地工作并在上游部署很容易 但我的理解是 WordPress 并没有让这变得那么容易 也许这是一个
  • 在 WordPress 中获取作者角色

    我正在开发我的第一个 WP 网站 需要在其帖子旁边显示作者的角色 类似于 吉米 管理员 查看可用的作者元数据 http codex wordpress org Function Reference the author meta http
  • 在 Woocommerce 购物车中设置最小小计金额

    我正在尝试将最低订单金额设置为 25 美元 到目前为止 我找到了这段代码 如果未达到最低限度 它似乎可以阻止结账 但它使用的小计包含税费 我需要在总计中排除税费 add action woocommerce checkout process
  • 如何在 WordPress 中按类别获取所有帖子

    我想在 WordPress 中按类别获取帖子 args array post type gt project postslist get posts args 0 gt WP Post 对象 ID gt 421 post author gt
  • 如何仅删除页面的自动段落格式,而不删除帖子的自动段落格式(WordPress)

    我已经熟悉这个在 WordPress 中删除自动段落格式的小技巧 remove filter the content wpautop remove filter the excerpt wpautop 但是添加这个函数 php删除整个网站的
  • meta_query,如何使用关系 OR 和 AND 进行搜索?

    已解决 请参阅下面的答案 我有一个名为的自定义帖子类型BOOKS 它有几个自定义字段 名称为 TITLE AUTHOR GENRE RATING 我该如何修复我的meta query下面的代码以便仅books在自定义字段中包含搜索词 tit
  • 禁用 WooCommerce 手动/编辑订单的电子邮件通知

    需要 WooCommerce 专业知识 我需要禁用手动创建的订单的电子邮件通知 我必须使用处理状态 由于处理订单状态的自定义挂钩 我无法创建自定义状态 理想情况下 手动订单页面中可以勾选一个复选框 勾选后 它将禁止在每种状态下向客户发送电子

随机推荐

  • Webview 的 loadData() 在 android 10.0 中不起作用(Q)

    这里我试图将 Html 代码作为字符串加载到 webview 中loadData 此方法没有发生任何事情 但相同的方法在低于 sdk 29 中像魅力一样工作 webview loadData html code text html null
  • Beam/Dataflow 中的批量 PCollection

    我在 GCP Dataflow Apache Beam 中有一个 PCollection 我不需要一一处理 而是需要 按N 组合 就像是grouped N 因此 在有界处理的情况下 它将按批次中的 10 个项目和最后一批中剩余的项目进行分组
  • Java + SSH + Postgres

    我们正在实施一个大学项目 Java 的拼车服务 我们需要解决一个与 如何管理 postgres 服务器 相关的问题 PostgreSQL 数据库配置在名为 golem 130 136 4 sth 的实验室服务器中 只能通过同一子网 130
  • 关于Scala变量可变性的问题

    我明白那个val关键字确定基础变量是不可变类型 以后不能重新分配 现在我在 scala 编程中遇到了一段 第 3 章 scala 中的后续步骤 用类型参数化数组 它指出 val greetStrings Array String new A
  • 等待光标并禁用 java 应用程序

    我想让用户按下按钮来启动后台线程 当线程正在处理时 我希望发生两件事 1 应显示 WAIT CURSOR 2 应用程序不应响应鼠标事件 根据setCursor 文档 当该组件的 contains 方法针对当前光标位置返回 true 时 将显
  • Swift:无法在某些闭包中分解元组(例如,通过枚举减少)?

    当使用map 和enumerate 时 Swift将分解枚举元组 map enumerate 1 2 3 index element in index element 然而 这似乎不能与额外的闭包参数一起使用 例如 使用reduce red
  • 相同的视图控制器加载两次

    我读过关于这个问题的几篇文章 但没有一个能解决我的问题 我正在编写一个应用程序 我必须单击一个按钮 准备 才能转到以下 ViewController 单击按钮时 它还会在两个视图控制器之间传递数据 问题是 当我单击按钮时 以下 ViewCo
  • ActionView 中的 Yield 魔法是如何发挥作用的?

    I was 看着content for 是如何工作的并观察到block call in the capture erb with buffer方法 它显然神奇地写入了缓冲区变量 然后该变量被修剪 但是 我认为这已被弃用 您可以致电现在 这是
  • 为什么RSA加密用C#和Java返回不同的结果?

    I using 时间 2019 03 17 标签 c RSACryptoServiceProvider JAVA KeyFactory getInstance RSA 密码 我将公钥 指数 模数 作为字节数组从java发送到c 没关系 有相
  • 如何在 dot net core 3.0/3.1 上的 razor 页面中添加区域?

    我想在 core 3 1 中添加区域剃刀页面 但微软文档是为了asp点网核心2 2 他们想要创建一个2020 年 1 月新报告 有人知道如何向核心 3 1 添加区域吗 我在谷歌上搜索了很多 但找不到答案 在 AdminLayout 中 a
  • 如何在SVN中存储配置参数?

    与许多项目一样 我们部署到许多环境 QA UA 开发人员主干等 在 SVN 中存储敏感配置参数的最佳方式是什么 或者 您不应该只在服务器上维护一个较小的未版本化文件 其中包含凭据吗 主要是 我们不想向每个开发人员公开生产凭据 我宁愿提供配置
  • Win10 Powershell - 简单的 If/Elseif 取决于条件顺序?

    我正在尝试编写一个部署脚本来检查操作系统主要版本 然后基于该版本运行命令 我可以抓住它就好 System Environment OSVersion Version Major 但是当我尝试在 if elseif 语句中使用它时 我总是得到
  • 高分辨率移动设备 1080px(Xperia Z 等)的媒体查询

    我正在尝试掌握不同设备的媒体查询 我尝试了我的新索尼 Xperia Z 手机 由于分辨率高 可以以全尺寸网站格式显示 如何添加媒体查询来重新调整网格大小和格式 如标准手机比例 在 Xperia 上 字体也太小而无法阅读 需要显示得更大 对于
  • 为什么需要“string DB 20, 22 dup('?')”中的“20, 22”?

    我一直用 for 定义字符串DB 20 22有一段时间不知道为什么 我读到第一个字节是缓冲区大小 第二个字节保存字符串使用的字节数 但我不知道这两个值是否都是强制性的 例如 当我定义一个字符串并想要将寄存器指向它时 我必须使用 2 来跳过这
  • 关于在需要常量表达式的上下文中使用左值常量表达式的问题

    include
  • Spring Boot 应用程序 - 服务器上下文路径

    我使用 Spring Initializer 嵌入式 Tomcat Thymeleaf 模板引擎生成了一个 Spring Boot Web 应用程序 并将其打包为可执行 JAR 文件 使用的技术 Spring Boot 2 0 0 M6 J
  • 即使安装 m2e + DWM 后,Eclipse Indigo SR2 EE 中也没有 Maven 菜单项

    我已经安装了 Eclipse Indigo SR2 EE Eclipse Java EE IDE for Web Developers Version Indigo Service Release 2 Build id 20120216 1
  • 我应该信任哪个编译器?

    这将是一个新手问题 但我正在尝试做一个小练习C语言 不C 我遇到了一些问题 假设我想在方法中使用数组 其大小取决于参数之一 void someFunc int arSize char charArray arSize DO STUFF 当我
  • 抛出或尝试捕获

    决定是否添加时的一般经验法则是什么throws方法的子句或使用try catch 从我自己读到的内容来看 throws当调用者破坏了契约 传递的对象 并且try catch当在方法内部执行的操作期间发生异常时应使用 它是否正确 如果是这样
  • 根据 WooCommerce 中其他运输方式的可用性隐藏运输方式

    我试图根据其他运输方式 通过其 ID 的可用性来隐藏运输方式 以实现稍微复杂的运输设置 根据我发现的其他代码片段 对于其他用例 排除州或仅显示免费送货 如果有 我想出了这个 function hide duplicate shipping