当用户点击&#34时调用什么功能;添加到购物车"?

时间:2017-03-15 13:12:24

标签: php wordpress cookies woocommerce

我想修改添加到购物车功能(Cookie和会话以解决问题),但我不知道该功能位于何处。有人可以告诉我在哪里可以找到该文件,有功能,点击该按钮时调用?还有什么功能?我需要进入创建cookie / session并修改它的函数。

2 个答案:

答案 0 :(得分:1)

负责将商品添加到购物车的方法之一称为WC_Cart::add_to_cart()

您应该直接编辑该文件,因为:

  1. 该插件的未来更新将覆盖您的更改;
  2. WooCommerce代码(及相关插件)可能在幕后非常复杂,尤其是在使用其他插件时;和
  3. WordPress和WooCommerce为您提供了足够的挂钩来覆盖默认功能。
  4. 使用WooCommerce Hooks

    WooCommerce提供了大量hooks,允许您覆盖默认功能。在不知道您的确切目标的情况下,很难指定应该使用哪个钩子,但有一些可能的选择:

    1. woocommerce_add_to_cart
    2. woocommerce_add_to_cart_validation
    3. woocommerce_cart_updated
    4. woocommerce_set_cart_cookies
    5. WooCommerce docs中提供了完整的挂钩列表。

      WooCommerce Hook的例子

      以下功能将在购物车更新后设置cookie。

      function setCartCookie()
      {
          $_COOKIE['foo'] = 'bar';
      }
      add_filter( 'woocommerce_cart_updated', 'setCartCookie' );
      

答案 1 :(得分:0)

您可以在文件include / class-wc-cart.php

中找到与购物车相关的所有内容或至少大部分内容。

WooCommerce使用WordPress插件API来增强所有内容,因此您可以在项目添加到购物车时挂钩功能并更改它而无需修改创建cookie的功能。

将项目设置为购物车的方法是:

add_to_cart()

该类设置cookie的方法是:

set_cart_cookies() 

并且会话是:

set_session()

您可以使用一些动作挂钩来挂钩并更改您需要更改的内容:

'woocommerce_cart_updated' -> cart has been updated on session
'woocommerce_set_cart_cookies' -> cookies are set
'woocommerce_add_to_cart' -> item added to cart

如果您正在调整cookie /会话,请务必测试所有内容,以便您所做的更改不会破坏WooCommerce的一部分