根据 WooCommerce 中选择的运输方式隐藏付款方式 [重复]

2023-12-01

如果通过将下面的代码添加到主题 function.php 选择一种运输方式,我试图隐藏两种付款方式

// Filter payment gatways for different shipping methods
function my_custom_available_payment_gateways( $gateways ) {
    $chosen_shipping_rates = WC()->session->get( 'chosen_shipping_methods' );
    if ( in_array( 'flat_rate:7', $chosen_shipping_rates ) ) {
        unset( $gateways['stripe'] );
        unset( $gateways['ppec_paypal'] );
    }
    endif;
    return $gateways;
}
 add_filter( 'woocommerce_available_payment_gateways', 
'my_custom_available_payment_gateways' );

一切正常。但我在产品页面上收到此错误。

警告:
in_array() 期望参数 2 为数组,在 [theme function.php 和行号] 中给出 null


使用以下方法可以防止此错误(也删除了endif;):

// Filter payment gatways for different shipping methods
add_filter( 'woocommerce_available_payment_gateways', 'my_custom_available_payment_gateways', 10, 1 );
function my_custom_available_payment_gateways( $available_gateways ) {
if( is_admin() ) return $available_gateways; // Only for frontend

    $chosen_shipping_rates = (array) WC()->session->get( 'chosen_shipping_methods' );

    if ( in_array( 'flat_rate:12', $chosen_shipping_rates ) ) {
        unset( $available_gateways['stripe'], $available_gateways['ppec_paypal'] );
    }

    return $available_gateways;
}

代码位于活动子主题(或活动主题)的functions.php 文件中。它应该有效。

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

根据 WooCommerce 中选择的运输方式隐藏付款方式 [重复] 的相关文章

  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

    在我的 PHP 脚本中 我需要弄清楚如何检索指定消息 ID 之后或特定日期之后的所有电子邮件 两者都可以 我只需要检索自上次抓取收件箱以来的新电子邮件 这个收件箱每天收到数千封电子邮件 而且我在 30 天内无法删除任何电子邮件 对于初始导入
  • 为什么我的会话仍然存在?

    我一定很愚蠢 因为似乎一件相当明显的事情现在让我完全困惑 我有一个会议 ie SESSION handbag id 在某个时刻 我需要彻底终止这个会话 ie at the start of the page session start el
  • Woocommerce - 正在销售的产品显示 1 页而不是 4 页

    我有 44 种产品在售 当我输入 WooCommerce 短代码时 sale products per page 12 我只收到 12 件促销产品 即 1 页而不是 4 页 怎么了 我在用着 可湿性粉剂 4 4 1 WC 2 5 1 神秘的
  • 如何从网站网址中隐藏 .html 扩展名

    我知道这个问题以前曾被问过 但有人知道隐藏 html 扩展名的好方法吗 我已经尝试了许多代码和许多答案https stackoverflow com https stackoverflow com 但我没有看到结果 那是我再问你一次 我有一
  • 将 cookie 设置为在当天结束时过期

    我想设置一个 cookie 并让它在一天结束时过期 这有效 但 24 小时后过期 setcookie route upgrade voted true time 86400 这不起作用 setcookie route upgrade vot
  • Laravel Vue 组件只能传递数字?

    在我的 UserMenu vue 中我写道 export default props nameVal data return 并在blade php中
  • 在 foreach 中使用 QueryPath 的多个查找

    我正在使用 QueryPath 和 PHP 这发现 eventdate 没问题 但不会为 dtstart 返回任何内容 qp htmlqp url foreach qp gt find table schedule gt find tr a
  • Facebook API sdk 4.0 - 将照片发布到 Facebook

    我正在尝试创建一个应用程序 用户可以在其中浏览照片并将其从计算机提交到 Facebook 为此 他们首先必须将照片上传到服务器 然后使用 Facebook 请求将此图像发布到 Facebook 我正在使用多部分 表单数据 这就是我到目前为止
  • Nginx 502 网关错误。通过增加buffer来解决。为什么?

    我正在设置 LEMP 堆栈来运行 Drupal 我安装了 Nginx 和 PHP FastCGI Nginx 工作正常 但任何运行 PHP 的尝试都会出现错误 502 Bad Gateway 谷歌很快发现 nginx 502 错误网关 ht
  • PHP 接口有属性吗?

    PHP 中的接口有属性 还是只有方法 您可以在 DocBlock 中为接口声明属性 然后 IDE 将提示接口的这些属性 PhpStorm 会这样做 但这不会强制在实现类中实际实现这些字段 例如 property string passwor
  • php - 解析html页面

    div divbox div p para1 p p para2 p p para3 p table class table tr td td tr table p para4 p p para5 p 有人可以告诉我如何解析这个 html
  • PHP 检查当前日期是在设定日期之前还是之后

    我从数据库中提取一个日期 其格式为 dd mm YYYY 我想做的是检查当前日期 如果当前日期早于数据库中的日期 则需要打印数据库日期 如果是在之后 则需要打印 继续 有人能指出我正确的方向吗 if strtotime database d
  • session_start():无法解码会话对象

    我有时在使用 CodeIgniter 时遇到以下问题 错误 2019 03 05 19 57 26 gt 严重性 警告 gt session start 无法解码会话对象 会话已被销毁 system libraries Session Se
  • 使用 php/regex 验证美国电话号码

    EDIT 我混合并修改了下面给出的两个答案 以形成完整的功能 现在它可以完成我想要的功能 然后是一些 所以我想我会将其发布在这里 以防其他人来寻找同样的东西 Function to analyze string against many p
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows
  • 如何在 PHP 5.6 中通过 php.ini 设置“verify_peer_name=false”SSL 上下文选项

    案例 我想打开 SSL 连接localhost而 SSL 证书是 FQDN 的问题 问题 没有进行特殊处理就行 下面的程序失败并显示以下消息 PHP Warning stream socket enable crypto Peer cert
  • 联系表格 7 自动添加 p 标签

    我在联系表单 7 编辑器中有下一个代码 div class row div class col sm 8 col sm offset 2 div class row div class col sm 4 text name class bo
  • 如何从日期中查找该月的最后一天?

    如何在 PHP 中获取该月的最后一天 Given a date 2009 11 23 我要2009 11 30 并给出 a date 2009 12 23 我要2009年12月31日 t返回给定日期所在月份的天数 请参阅的文档date ht

随机推荐

  • 将静脉坐标转换为 GPS

    我正在使用从以下位置导入的真实街道网络打开街道地图用于静脉模拟 例如卢森堡情景来自拉拉 科德卡 现在 为了准备可视化 使用 Google Earth 我想将模拟中的车辆位置从 SUMO 或 OmNET 坐标导出到 GPS 坐标 作为材料 我
  • 在多租户 Web 应用程序中使用事件委托

    我正在使用 asp net Mvc 5 开发一个多租户 n 层 Web 应用程序 在我的服务层中 我为每个重要操作定义自定义事件 并在执行这些操作后引发这些事件 例如 Public event EventHandler EntityCrea
  • Angular $resource.get 可以处理 GET 的数组和非数组吗?

    我可以通过两种方式通过 ID 获取 REST 资源 GET users 1 GET users 1 2 第一个返回单个对象 例如 id 1 name John 而第二个返回一个数组 例如 id 1 name John id 2 name J
  • 无法关闭 X 按钮上的多线程 Tkinter 应用程序

    我的应用程序具有以下结构 import tkinter as tk from threading import Thread class MyWindow tk Frame constructor methods etc def main
  • 不断上传 php $_FILES 错误 = 3(部分上传)

    我正在使用 Yii 框架的 dropzone 扩展来由注册用户上传一些文件 一切正常 但某些用户尝试上传的某些文件返回错误 3 当上传的文件仅部分上传时 就会发生这种情况 file error FILES Project error fil
  • 为什么某些 Typescript 模块名称以字符串形式给出?

    通常 Typescript 模块的声明如下 declare module MyModule 但有时我也看到它 declare module MyModule 我想知道将名称作为字符串给出的目的是什么 我检查了Typescript 文档并发现
  • 防止 WinForms PictureBox 动画 GIF 在处理过程中暂停?

    我有一个带有 2 个控件的表单 控件 1 有多个搜索条件 用户可以单击按钮开始搜索 Control 2 有一个将显示搜索结果的 GridView 还有一个带有动画 Gif 的 PictureBox 控制 1 中有一个方法 该方法有一个嵌套的
  • 如何使用 EF FromSql 编写 In 子句?

    我的条款有未知数量的参数 我该如何编写它才能与 EF Core 一起使用 var formattedValues String Join values Select s gt s var identifierParam new SqlPar
  • 如何在 Haskell 中建模分层数据类型?

    我有很多类型 它们的层次结构存储了一些有用的信息 我试图避免将类型层次结构的知识融入到对其进行操作的函数中 以下是斯坦福自然语言处理的类型依赖的一小段摘录 root root dep dependent aux auxiliary auxp
  • NetLogoBehaviorSpace内存大小限制

    在我的模型中 我使用行为空间来执行多次运行 每次运行都会更改变量 并将输出存储在 csv 中以供以后分析 该模型在前几次迭代中运行良好 但随着数据的增长而速度很快变慢 我的问题是 在行为空间中使用文件刷新会有所帮助吗 或者有办法解决吗 Ch
  • Spine.js 和 Hem:入门

    我成功创建了一个 Spine 应用程序 如 Spine 上所述入门页 然而 Hem 不会自动考虑我的更改 我必须手动构建 我关注的时候也遇到同样的问题联系截屏视频 但这次 Hem 根本不构建 art mac spine contacts a
  • 在一个 Person 中定义多个 URL

    我正在定义一个 Schema orgPerson我的网站上的项目使用微数据 其中大部分是不言自明的 然而 摘要页面上的每个迷你个人资料都有三个 URL 其中一个链接到该人的完整信息ProfilePage 还有 LinkedIn 和 Twit
  • 为什么我们在 Windows 中需要 CURLOPT_SSL_VERIFYPEER

    我将解释一下我的脚本 以便您能够理解我的问题 基本上我做了一个脚本来检查 SOCKS5 是否是live or dead 当我测试我的脚本时Linux VPS and iMac它工作得很好 但是当我在 Windows 上测试它时wampser
  • 全屏相机显示/预览不保持纵横比 - 图像会倾斜、拉伸以适合屏幕

    我开发了一个小应用程序 用于全屏显示相机预览 我为此使用相机 API 这是活动布局
  • JPA或Hibernate生成一个(非主键)列值,不从1开始

    我想要一个 JPA Hibernate 最好是 JPA 注释 它可以生成列的值 该值不是主键 并且不是从 1 开始 据我所知 JPA 无法使用 GenerateValue SequenceGenerator 和 TableGenerator
  • 从数字数组中获取一个数字

    要将数字拆分为给定基数的数字 Julia 有 digits 功能 julia gt digits 36 base 4 3 element Array Int64 1 0 1 2 逆向操作是什么 如果你有一个数字数组和基数 是否有一个buil
  • PHP 使用 file_get_contents 后替换字符串

    您好 我正在寻找替换我正在加载的 html 电子邮件中的单词文件获取内容 这是我的代码 我希望找到所有 SAD 模式 区分大小写 并用 HAPPY 替换它们 由于某种原因如果我使用文件获取内容它似乎
  • 使用plotly python绘制多个箭头

    有一个关于的例子多个注释 它只是复制 go layout Annotation 来绘制 2 个箭头 但我需要画100多个箭头 我不知道怎么做 go layout Annotation 是元组类型并接受每个箭头的 dict 是否有任何简单的方
  • SQL Server 中数值、浮点数和小数之间的区别

    两者有什么区别numeric float and decimal数据类型以及在什么情况下应该使用哪些数据类型 对于任何类型的金融交易 例如薪资领域 首选哪一种 为什么 use the float or real数据类型only if提供的精
  • 根据 WooCommerce 中选择的运输方式隐藏付款方式 [重复]

    这个问题在这里已经有答案了 如果通过将下面的代码添加到主题 function php 选择一种运输方式 我试图隐藏两种付款方式 Filter payment gatways for different shipping methods fu