我想修改添加到购物车功能(Cookie和会话以解决问题),但我不知道该功能位于何处。有人可以告诉我在哪里可以找到该文件,有功能,点击该按钮时调用?还有什么功能?我需要进入创建cookie / session并修改它的函数。
答案 0 :(得分:1)
负责将商品添加到购物车的方法之一称为WC_Cart::add_to_cart()
。
您应该不直接编辑该文件,因为:
WooCommerce提供了大量hooks,允许您覆盖默认功能。在不知道您的确切目标的情况下,很难指定应该使用哪个钩子,但有一些可能的选择:
woocommerce_add_to_cart
woocommerce_add_to_cart_validation
woocommerce_cart_updated
woocommerce_set_cart_cookies
WooCommerce docs中提供了完整的挂钩列表。
以下功能将在购物车更新后设置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的一部分