在默认情况下回调未传递订单ID的情况下,从连接到WooCommerce筛选器的回调函数中获取当前订单ID的方法有哪些?
符合此条件的WooCommerce过滤器的示例钩子:
add_filter('woocommerce_get_downloadable_file_url',array('fooClass','fooFighter'),10,4)
此挂钩将以下变量传递给回调:
$file_urls
- $product_id
- $variation_id
- $项目
我通过将订单ID定义为全局ID,研究了如何通过$woocommerce访问订单ID。在这种情况下(当WooCommerce向客户发送完成的订单电子邮件时),$WooCommerce不包含WC_订单对象。
为了获得更多信息,我尝试使用前面提到的钩子为特定的WooCommerce产品创建自定义下载链接。每次可下载产品在已完成的订单电子邮件上列出时,以及在订单完成页面上再次列出时,都会调用此筛选器)。要创建自定义链接,我需要订单id。
我也知道这是相当古老的,但只是想指出,对于WooCommerce 2.2,get_downloadable_file_urls()
方法不建议使用get_item_downloads()
。这意味着适当的过滤器现在将是woocommerce_get_item_downloads
。
return apply_filters( 'woocommerce_get_item_downloads', $files, $item, $this );
第三个参数是$this
,因为get_item_downloads()
是WC_Abstract_Order
抽象中的方法(负责WC_Order),最终意味着它是$order
对象和$order-
我知道已经有一段时间没有提出这个问题了,但是今天我偶然发现了同样的问题,并通过在我的过滤器函数中添加以下代码来修复它。
global $woocommerce;
$orderId = $woocommerce->woocommerce_email->emails['WC_Email_New_Order']->object->id;
$woocommerce-woocommerce\u电子邮件-
希望有一天这能帮助别人。:)
问题内容: 我正在尝试CSS过滤器,但在我的Firefox(15.0)浏览器中不起作用。 HTML: CSS: 问题答案: GrayScale具有使用-moz-filter在Firefox中运行的限制。 要使其正常工作,请使用以下代码段:
我的JUnitRunner无法选择具有JBehave中指定的meta标记的场景。 以下是我的故事: 下面是我的运行程序文件: 当我作为JUnit test运行上述类时,没有调用带有烟雾标记的实际测试,也没有执行任何内容。 下面是我在执行上面的代码时得到的结果
https://github.com/azure/azure-service-bus/tree/master/samples/dotnet/gettingstart/microsoft.azure.servicebus/topicsubscriptionwithruleoperationssample 现在我想添加一个筛选器/规则,这样只有通过筛选器中定义的特定条件的消息才应该给订阅。 例如,下面
我正在尝试在Spring Cloud Gateway中启用RequestRateLimiter。我havr配置了其他过滤器,甚至是自定义过滤器,但当我将其添加到我的路由中时: 我得到了这个异常(当然,如果我移除RequestRateLimiter筛选器并只保留StripPrefix条目,一切正常。我已经删除了异常的代码):
我正在开发一个Spring Boot应用程序,我在其中定义了要执行的过滤器,以管理令牌的获取和验证。因此,在我的Web安全类配置中,我设法做到了这一点:
我们正在使用Debezium+PostgreSQL。 注意,我们得到了用于创建、读取、更新和删除的4种类型的事件-c、r、u和D。 事件的读取类型未用于我们的应用程序。实际上,我想不出'r'事件的用例,除非我们正在审计或镜像事务的活动。 我从一个贡献者那里得到了使用snapshot.mode的线索。我想当Debezium创建一个快照时必须要做的事情。我不知道怎么做。
在woocommerce my-account中,我想显示与一个变体属性相关的所有销售。在我的例子中,属性是艺人名称。我想显示与艺术家相关的每个产品的每个订单的尺寸/数量和买家名称。如果size为空,我想检索包含我添加的size的variation_sku。 我开始使用这个函数从Woocommerce中的产品ID获取所有订单ID 结果是相当好的90%的情况下,除了一些订单。“variation_i
我有一个 docker 17.05.0-ce,在 ubuntu 服务器 16.04 LTS 上构建 89658be。我有一个Postgres在容器中运行并公开端口5432。 我可以从任何地方连接它,除了psql只是超时的同级容器。作为地址,我使用主机的IP。从客户端Ping有效,而psqlconnect无效。 我知道我可以用组合的Postgres服务创建一个docker-compose,但宁愿不这