WooCommerce添加到购物车验证:阻止添加到购物车

艾尔·阿维坦(Eyal Avitan)

我对woocommerce遇到问题,我试图修复几天。

我正在为一个人创建一个网站,他希望我在产品页面上添加自定义输入,但我自己做不到,因此我在网上使用了自由职业者。

在产品页面上,我有一个购物车按钮,数量输入和日期输入。

“日期输入”是自由职业者所做的。

问题是,当$ _REQUEST ['thedate']为空时,将弹出自定义错误,但产品仍添加到购物车中。

代码:(functions.php)

function add_the_date_validation() { 
if ( empty( $_REQUEST['thedate'] )) {
    wc_add_notice( __( 'Please enter a date.', 'woocommerce' ), 'error' );
    return false;
}
return true;
}
add_action( 'woocommerce_add_to_cart_validation', 'add_the_date_validation', 10, 5 );    

视图:http : //i.stack.imgur.com/a75P6.png

  • 如何防止产品将其添加到购物车?

自由职业者执行的其他代码:

function save_add_the_date_field( $cart_item_key, $product_id = null, $quantity= null, $variation_id= null, $variation= null ) {
if( isset( $_REQUEST['thedate'] ) ) {
    WC()->session->set( $cart_item_key.'_the_date', $_REQUEST['thedate'] );
}
}

add_action( 'woocommerce_add_to_cart', 'save_add_the_date_field', 1, 5 );

function render_meta_on_checkout_order_review_item( $quantity = null, $cart_item = null, $cart_item_key = null ) {
if( $cart_item_key && WC()->session->__isset( $cart_item_key.'_the_date' ) ) {
    echo $quantity. '<dl class="">
             <dt class="">Date: </dt>
             <dd class=""><p>'. WC()->session->get( $cart_item_key.'_the_date') .'</p></dd>
          </dl>';
}
}

add_filter( 'woocommerce_checkout_cart_item_quantity', 'render_meta_on_checkout_order_review_item', 1, 3 );

function the_date_order_meta_handler( $item_id, $values, $cart_item_key ) {
if( WC()->session->__isset( $cart_item_key.'_the_date' ) ) {
    wc_add_order_item_meta( $item_id, "the_date", WC()->session->get( $cart_item_key.'_the_date') );
}
}

add_action( 'woocommerce_add_order_item_meta', 'the_date_order_meta_handler', 1, 3 );

function the_date_force_individual_cart_items($cart_item_data, $product_id)
{
$unique_cart_item_key = md5( microtime().rand() );
$cart_item_data['unique_key'] = $unique_cart_item_key;

return $cart_item_data;
}

add_filter( 'woocommerce_add_cart_item_data','the_date_force_individual_cart_items', 10, 2 );
Helgatheviking

我会说您应该使用产品附加组件,但是它似乎没有日期选择器。无论如何,我会尝试如下修改您的验证功能:

function add_the_date_validation( $passed ) { 
if ( empty( $_REQUEST['thedate'] )) {
    wc_add_notice( __( 'Please enter a date.', 'woocommerce' ), 'error' );
    $passed = false;
}
return $passed;
}
add_filter( 'woocommerce_add_to_cart_validation', 'add_the_date_validation', 10, 5 );  

而不是返回,TRUE您想返回$passed变量的当前状态我不能保证它会起作用,因为我不会设置测试它所需的其余代码,但这与我已经做过很多次相似。

另一方面,除非您打算将此验证应用于商店中的每个产品,否则需要使用一些附加的条件逻辑来限制此功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

localStorage 添加到购物车

来自分类Dev

如果购物车包含特定的Woocommerce产品类别,请阻止添加到购物车

来自分类Dev

在Woocommerce中隐藏添加到购物车消息

来自分类Dev

WooCommerce:添加到购物车简码样式

来自分类Dev

将产品添加到购物车WooCommerce?

来自分类Dev

翻译添加到购物车woocommerce

来自分类Dev

Woocommerce变异的快速渲染/添加到购物车

来自分类Dev

Woocommerce Ajax以编程方式添加到购物车

来自分类Dev

Woocommerce-添加到购物车缺货中

来自分类Dev

将产品添加到购物车WooCommerce?

来自分类Dev

Woocommerce变种的快速渲染/添加到购物车

来自分类Dev

在woocommerce中将金额动态添加到购物车

来自分类Dev

WooCommerce 仅添加到购物车按钮

来自分类Dev

添加到购物车按钮未在购物车中添加产品

来自分类Dev

添加到购物车按钮未在购物车中添加产品

来自分类Dev

Woocommerce添加到购物车验证隐藏警报消息

来自分类Dev

快速添加变化并添加到购物车

来自分类Dev

添加商品时如何添加到购物车?

来自分类Dev

如何仅更改购物车页面上的添加到购物车文本?

来自分类Dev

在添加到购物车中的特定产品之前,先清空购物车

来自分类Dev

PHP + curl,HTTP POST 打开购物车,添加到购物车部分?

来自分类Dev

WooCommerce从购物车中删除所有产品,并将当前产品添加到购物车

来自分类Dev

WooCommerce:删除档案中的“添加到购物车”按钮,但不在购物车中

来自分类Dev

WooCommerce从购物车中删除所有产品,并将当前产品添加到购物车

来自分类Dev

单击 Woocommerce 后,将添加到购物车按钮更改为查看购物车按钮

来自分类Dev

设置自定义添加到购物车默认数量(Woocommerce 购物车页面除外)

来自分类Dev

添加到购物车时Sylius错误

来自分类Dev

在Shopify中使用AJAX添加到购物车

来自分类Dev

Prestashop:将定制产品添加到购物车

Related 相关文章

  1. 1

    localStorage 添加到购物车

  2. 2

    如果购物车包含特定的Woocommerce产品类别,请阻止添加到购物车

  3. 3

    在Woocommerce中隐藏添加到购物车消息

  4. 4

    WooCommerce:添加到购物车简码样式

  5. 5

    将产品添加到购物车WooCommerce?

  6. 6

    翻译添加到购物车woocommerce

  7. 7

    Woocommerce变异的快速渲染/添加到购物车

  8. 8

    Woocommerce Ajax以编程方式添加到购物车

  9. 9

    Woocommerce-添加到购物车缺货中

  10. 10

    将产品添加到购物车WooCommerce?

  11. 11

    Woocommerce变种的快速渲染/添加到购物车

  12. 12

    在woocommerce中将金额动态添加到购物车

  13. 13

    WooCommerce 仅添加到购物车按钮

  14. 14

    添加到购物车按钮未在购物车中添加产品

  15. 15

    添加到购物车按钮未在购物车中添加产品

  16. 16

    Woocommerce添加到购物车验证隐藏警报消息

  17. 17

    快速添加变化并添加到购物车

  18. 18

    添加商品时如何添加到购物车?

  19. 19

    如何仅更改购物车页面上的添加到购物车文本?

  20. 20

    在添加到购物车中的特定产品之前,先清空购物车

  21. 21

    PHP + curl,HTTP POST 打开购物车,添加到购物车部分?

  22. 22

    WooCommerce从购物车中删除所有产品,并将当前产品添加到购物车

  23. 23

    WooCommerce:删除档案中的“添加到购物车”按钮,但不在购物车中

  24. 24

    WooCommerce从购物车中删除所有产品,并将当前产品添加到购物车

  25. 25

    单击 Woocommerce 后,将添加到购物车按钮更改为查看购物车按钮

  26. 26

    设置自定义添加到购物车默认数量(Woocommerce 购物车页面除外)

  27. 27

    添加到购物车时Sylius错误

  28. 28

    在Shopify中使用AJAX添加到购物车

  29. 29

    Prestashop:将定制产品添加到购物车

热门标签

归档