这是一个在woocommerce_available_payment_gateways过滤器钩子中使用自定义钩子函数的示例,我可以根据购物车项目(产品类型)禁用支付网关:

add_filter('woocommerce_available_payment_gateways', 'conditional_payment_gateways', 10, 1);

function conditional_payment_gateways( $available_gateways ) {

// Not in backend (admin)

if( is_admin() )

return $available_gateways;

foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item ) {

$prod_variable = $prod_simple = $prod_subscription = false;

// Get the WC_Product object

$product = wc_get_product($cart_item['product_id']);

// Get the product types in cart (example)

if($product->is_type('simple')) $prod_simple = true;

if($product->is_type('variable')) $prod_variable = true;

if($product->is_type('subscription')) $prod_subscription = true;

}

// Remove Cash on delivery (cod) payment gateway for simple products

if($prod_simple)

unset($available_gateways['cod']); // unset 'cod'

// Remove Paypal (paypal) payment gateway for variable products

if($prod_variable)

unset($available_gateways['paypal']); // unset 'paypal'

// Remove Bank wire (Bacs) payment gateway for subscription products

if($prod_subscription)

unset($available_gateways['bacs']); // unset 'bacs'

return $available_gateways;

}

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中.

所有代码都在Woocommerce 3上进行测试并且有效.

This is just an example to show you how things can work. You will have to adapt it

php发布产品隐藏显示,php – 在WooCommerce中隐藏基于产品类型的付款方式相关推荐

  1. 服务器显示隐藏任务,在Windows 10中隐藏任务栏的简单方法

    作为Windows用户,您可能已经注意到任务栏总是显示在屏幕上.对于某些用户来说,这可能是最令人欣慰的事情.但是,对于其余用户而言,全屏显示的任务栏很烦人.在这些人中,确实有一些人不知道可以随时隐藏它 ...

  2. html中设置元素隐藏显示,细说HTML元素的隐藏和显示

    CSS文档对HTML的显示和隐藏有2个属性可供选择: 1.display 2.visiblity 这2个有什么区别呢? display: display版本:CSS1/CSS2 兼容性:IE4+ NS ...

  3. 隐藏网络计算机,如何在网络中隐藏自己的计算机名称

    如果不想让别人在网上邻居中看到自己的计算机,则可把自己的计算机名称在网上邻居里隐藏.下面小编告诉你具体操作方法! 网络中隐藏自己的计算机名称的方法 选择[开始]-[运行]菜单项,打开[运行]对话框,在 ...

  4. react 中组件隐藏显示_React组件开发中常见的陷阱及解决

    React作为使用最广泛Web前端开发之一,在Web开发领域越来成熟和稳固.其新版本发布的Hook API/concept使得组件更加便捷易用.虽然如此,React开发中仍然有很多的陷阱值得每一位Re ...

  5. 删除购物车ajax js,在购物车中使用ajax在woocommerce中移除产品

    我想使用ajax在woocommerce购物车中删除产品,而不点击链接. 如果您遇到这种功能,请帮助我们. add_action( 'wp_footer','add_js_to_wp_wcommerc ...

  6. html判断隐藏显示,js 判断DIV是否隐藏的方法

    js脚本在控制div元素在显示与隐藏之间进行切换时,如果不能确定div当前的状态,切换时往往会发生一些逻辑错误的事情,导致div元素的动态效果在切换时不是很流畅.那么飞鸟慕鱼博客就来说一说,如何判断d ...

  7. excel下拉隐藏_在Excel下拉列表中隐藏使用过的项目

    excel下拉隐藏 You can add a drop down list in a cell, to make it easy for people to enter data. It's rea ...

  8. jupyter输出为html隐藏代码,在jupyter noteb中隐藏代码

    我有一个jupyter笔记本,是降价和代码的混合体.最后,我想把它呈现为一个pdf报告并隐藏代码.我仍然想看到代码的输出,绘图和表格,我只是不想看到最终报告中的代码.我发现下面的帖子有下面的代码,如果 ...

  9. 计算机怎么隐藏应用程序,在窗口中隐藏 RemoteApp 程序弹出窗口

    修补程序信息 可以从 Microsoft 获得受支持的修复程序.然而,此修补程序仅用于解决本文中描述的问题.此修复程序仅适用于遇到本文中描述的问题的系统.此修补程序可能会接受进一步的测试.因此,如果这 ...

最新文章

  1. web cache缓存原理
  2. [原]LVM管理问题解决
  3. 集群理论讲解(续三)
  4. Python内置函数(57)——setattr
  5. tomcat 启动时 Initializing Spring root WebApplicationContext停止启动
  6. python3.4 使用pymysql 连接mysql数据库
  7. 基础野:细说原码、反码和补码
  8. 深度学习 | Why and How:神经网络中的权重初始化
  9. 用VScode配置Python开发环境引用
  10. ubuntu12.04英文环境下配置ibus遇到的问题
  11. mysql服务器的字符集
  12. ubuntu 创建桌面图标快捷方式
  13. Word恢复忘记保存的文件(打开任意.asd文件)
  14. ffmpeg中h264_mp4toannexb使用说明及注意事项
  15. DataV 3D 平面地图 2.0 焕新上线
  16. Python3.8.5安装教程
  17. Oracle v$sql 视图详解
  18. 【English】十一月英语总结
  19. Django城市信息查询功能
  20. RGB 转 edp 接口dp501 示范电路

热门文章

  1. 记一次php项目上线遇到的坑
  2. 微软发布了云Bot-as-a-Service平台
  3. 我做的4周岁儿童编程课程【视频】分享
  4. ansible自己总结(playbook)
  5. 检测数(二进制形式)中1的个数
  6. CMake一次失败应用
  7. [Z]谷歌(Google)算法面试题
  8. 一台机器上启动多个tomcat
  9. linux shell 计算时间差
  10. linux c 线程属性 pthread_attr_t 简介