7uc*_*f3r 0 woocommerce hook-woocommerce
我使用以下钩子
function dvpi_add_to_cart_validation( $passed, $product_id, $quantity, $variation_id, $variations ) {
return $passed;
}
add_filter( 'woocommerce_add_to_cart_validation', 'dvpi_add_to_cart_validation', 10, 5 );
Run Code Online (Sandbox Code Playgroud)
对于“变量”类型的产品,这有效
问题是,如果产品的类型是“single”,这个钩子也会被执行,但需要 3 个参数,否则我会收到以下错误消息:
function dvpi_add_to_cart_validation( $passed, $product_id, $quantity ) {
return $passed;
}
add_filter( 'woocommerce_add_to_cart_validation', 'dvpi_add_to_cart_validation', 10, 3 );
Run Code Online (Sandbox Code Playgroud)
致命错误:未捕获的 ArgumentCountError:函数 dvpi_add_to_cart_validation() 的参数太少,第 288 行在 /data/sites/web/.../wp-includes/class-wp-hook.php 中传递了 3 个参数,并且在 .. 。
如果我要检查产品类型的功能中的条件“来得太晚了”。
我该如何解决这个问题?
小智 8
您可以将功能参数更改为可选,如下所示,并检查单一产品和变体产品是否有效。
function dvpi_add_to_cart_validation( $passed, $product_id, $quantity, $variation_id = 0, $variations = null) {
return $passed;
}
add_filter( 'woocommerce_add_to_cart_validation', 'dvpi_add_to_cart_validation', 10, 5 );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2781 次 |
| 最近记录: |