如果结帐页面中有特定变化,则隐藏付款方式 |吴商务

2024-01-25

我在我的 WordPress 网站上使用此代码来在选择特定产品变体时隐藏支付网关。然而,一旦我插入代码,WordPress 就会从后端显示一个严重错误。请帮助我如何在我的网站上使用此代码?

产品属性:需要个性化 变量:是|不

我想要实现的是,如果有人选择“是”,那么结帐页面上的 COD 选项将被禁用。或者,如果他们选择“否”,则只有鳕鱼选项可用。

产品页面网址:https://savvyandgroovy.com/product/prashant/ https://savvyandgroovy.com/product/prashant/

这是我目前正在使用的:

add_filter(‘woocommerce_available_payment_gateways’, ‘conditional_payment_gateways’, 10, 1);
function conditional_payment_gateways($available_gateways)
{
  $in_cart=false;
  foreach(WC()->cart->get_cart_contents() as $key=>$values)
  {
    // See if there is an attribute called ‘pa_size’ in the cart
    // Replace with whatever attribute you want
    if(array_key_exists(‘personalization-required’, (array)$values[‘data’]->get_attributes()))
    {
      foreach($values[‘data’]->get_attributes() as $attribute=>$variation) ;
      // Replace ‘small’ with your value.
      if($variation==‘Yes’) $in_cart=true; //edited
    }
  }
  if($in_cart)
    unset($available_gateways[‘cod’]); // unset ‘cod’

  return $available_gateways;
}

您的代码工作正常,但由于您使用的引号而出现错误。我已更新如下:

add_filter('woocommerce_available_payment_gateways', 'conditional_payment_gateways', 10, 1);
function conditional_payment_gateways( $available_gateways ) {
    $in_cart = false;
    
    if ( !empty(WC()->cart) ) {
        foreach ( WC()->cart->get_cart_contents() as $key => $values ) {
        // See if there is an attribute called ‘pa_size’ in the cart
        // Replace with whatever attribute you want
        //echo '<pre>';
        //print_r($values['data']->get_attributes());
        //echo '</pre>';
        if (array_key_exists('personalization-required', (array) $values['data']->get_attributes() ) ) {
            foreach ($values['data']->get_attributes() as $attribute => $variation);
                // Replace ‘small’ with your value.
                // if ($variation == 'No') $in_cart = true; //edited
                if ($variation == 'Yes') {
                    $in_cart = true; //edited
                    // unset($available_gateways['cod']); // unset ‘cod’
                }
            }
        }
    
        if ( $in_cart )
            unset($available_gateways['cod']); // unset ‘cod’
    }

    return $available_gateways;
}

我想要实现的是,如果有人选择“否”变体,则结帐页面上的鳕鱼选项将被禁用。或者,如果他们选择“是”,则只有鳕鱼选项可用。

这不会在您的代码中反向工作,因为您已经编写了if ($variation == ‘Yes’) $in_cart = true; //edited所以你也需要更新它。所以我也更新了上面的代码。

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

如果结帐页面中有特定变化,则隐藏付款方式 |吴商务 的相关文章

  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a
  • 如何将 php curl 中的 cookie 获取到变量中

    因此 其他公司的一些人认为 如果不使用soap xml rpc rest 或任何其他合理的通信协议 而是将所有响应作为cookie 嵌入标头中 那就太棒了 我需要从这个卷曲响应中将这些 cookie 作为数组取出 如果我不得不为此浪费大量的
  • octobercms 任务调度不起作用

    我正在使用基于 Laravel 的 OctoberCMS 我没有 SSH 访问我的服务器的权限 每天我需要删除一些注册后 24 小时内未激活帐户的用户 所以我正在考虑使用任务调度 如 cronjobs 根据 10 月 CMSdocs htt
  • 什么时候适合在 PHP 中使用引用传递?

    在C 中 如果将一个大数组传递给函数 则需要通过引用传递它 这样它就不会被复制到新函数中浪费内存 如果您不想修改它 可以通过 const 引用传递它 任何人都可以验证通过引用传递也可以节省我在 PHP 中的内存吗 我知道 PHP 不像 C
  • Pinterest 身份验证 url 返回 404 错误?

    我正在测试 pinterest apihttp pinterest com developers api http pinterest com developers api 在上面的身份验证部分的网址上 它说我必须将用户重定向到 pinte
  • 无法使用 php 将大文件上传到服务器

    我无法将大文件加载到服务器 问题出在该文件中 FILES filename tmp name 如果文件稍大于 2mb 则为空 我尝试更改 php ini 中的变量 upload max filesize 700M post max size
  • 类别树的路由

    我正在使用Tree http www gediminasm org article tree nestedset behavior extension for doctrine 2类别树的学说扩展并希望有如下路线 cat subcat1 s
  • “yum install php”需要 httpd-mmn = 20051115

    我从源代码安装了 httpd apache 2 4 6 现在我想安装 PHP 但yum install php吐出错误 Error Package php 5 3 3 40 el6 6 x86 64 updates Requires htt
  • 带有列标题的php数组到csv的转换

    我想将数组转换为 csv 我能够将关联数组转换为 csv 但无法获取标题 我想要动态地将数字类型日期作为标题 下面是我转换的数组 Array 0 gt Array NUMBER gt 67 TYPE gt Other DATE gt 3 3
  • CodeIgniter PHP 模型访问“无法找到您指定的模型”

    我一直在尝试为我正在构建的这个网站加载一些模型 但不知道什么原因 会带来如下错误 An Error Was Encountered Unable to locate the model you have specified logon mo
  • PHP $_FILES 多个文件上传问题

    我在 PHP 中上传多个文件时遇到一个小问题 我有这个 html 表单
  • PHP PCRE 函数中的 $0 是什么

    我读过一个文档preg filter功能如下 这是来自 php net http php net manual en function preg filter php site subject array 1 a 2 b 3 A B 4 p
  • 如何在 Kohana 中包装 PHP 遗留代码?

    我有大量用 PHP 编写的遗留代码 这些代码不是在任何特定框架上编写的 而是主要是老式风格 即内联 PHP 然而 我的大部分新代码都是在 Kohana 3 1 X 框架上编写的 尽管 Kohana 确实允许遗留代码和 Kohana 文件在同
  • 显示产品中的类别名称和类别 ID - Laravel

    我已经找到了这个答案 但它对我不起作用 Laravel 按 id 显示类别 https stackoverflow com questions 39222584 laravel displaying categories by id 我无法
  • vagrant box速度慢,如何改进?

    我们已经为我们的开发盒构建了一个 vagrant box 但我们面临着一些延迟问题 Issues Assetic 手表速度很慢 app dev php 中的整体应用程序访问速度很慢 在 vagrant box 的共享文件夹中使用 查找 命令
  • 依赖注入容器什么时候会变得太大,我该怎么办?

    我们都知道为什么依赖注入很棒因为它使代码耦合更少 更容易测试 并且更容易阅读 然后有些人决定使用依赖注入容器 like pimple http pimple sensiolabs org PHP 可以协助依赖倒置 http en wikip
  • 对文本变量进行数学求和? (例如 5865/100 )

    我有一个变量是 whatever 5865 100 这是一个文本变量 我希望它计算 5865 100 以便我可以将其添加到其他数字并进行计算 Number format 不起作用 因为它只返回 5 865 而我希望它返回 58 65 我可以
  • Laravel 5 Socialite - cURL 错误 77:设置证书验证位置时出错

    我正在 Laravel 5 中使用社交名流来设置 facebook 登录 我仔细按照说明进行操作 直到出现以下错误 cURL error 60 SSL certificate problem unable to get local issu
  • 使用 ActiveRecord 和 Yii2 记录实际的 SQL 查询?

    我正在这样做 students Student find gt all return this gt render process array students gt students 然后在视图中 foreach students as

随机推荐