Php Woocommerce:访问页面时自动添加到购物车(可变产品ID)
我知道已经有一个现有的功能,你可以在访问网站时在购物车上添加特定的产品。问题是,您只能使用一个产品,我希望它根据您访问的页面而变化 以下是现有代码(添加在functions.php文件中) 在我名为page-template.php的登录页中,有一个自定义字段,用于回显所选特定产品的ID。因此,当我的用户访问此页面时,我希望此ID替换functions.php文件中的$product_ID。我如何做到这一点Php Woocommerce:访问页面时自动添加到购物车(可变产品ID),php,wordpress,function,woocommerce,Php,Wordpress,Function,Woocommerce,我知道已经有一个现有的功能,你可以在访问网站时在购物车上添加特定的产品。问题是,您只能使用一个产品,我希望它根据您访问的页面而变化 以下是现有代码(添加在functions.php文件中) 在我名为page-template.php的登录页中,有一个自定义字段,用于回显所选特定产品的ID。因此,当我的用户访问此页面时,我希望此ID替换functions.php文件中的$product_ID。我如何做到这一点 非常感谢您的帮助。可能在函数之后加载了全局变量。不只是设置变量,而是启动传递变量的函数并
非常感谢您的帮助。可能在函数之后加载了全局变量。不只是设置变量,而是启动传递变量的函数并避免钩子: 在functions.php中:
function add_product_to_cart($product_id) {
if ( ! is_admin() ) {
$found = false;
//check if product already in cart
if ( sizeof( WC()->cart->get_cart() ) > 0 ) {
foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
$_product = $values['data'];
if ( $_product->id == $product_id )
$found = true;
}
// if product not found, add it
if ( ! $found )
WC()->cart->add_to_cart( $product_id );
} else {
// if no products in cart, add it
WC()->cart->add_to_cart( $product_id );
}
}
}
在page-template.php中:
add_product_to_cart(275);
你有没有试过什么东西却不起作用?那会更有帮助的。嗨。我在page-template.php上添加了一个全局变量,并将其传递给functions.php的product_id,而不是“275”,但它不起作用。如何将id保存到cookie中,并在functions.php.Hi中检索cookie!谢谢你的帮助。我尝试了代码,但由于某种原因,购物车返回空的。奇怪的是,将第16行更改为以下行不知何故起了作用:WC()->cart->add_to_cart(275);通过更改该行,无论传递给函数的变量是什么,它都会添加ID为275的产品,真的吗?奇怪,它不是那样工作的。它现在正在改变,这取决于将产品添加到购物车的价值。不管怎样,非常感谢你的帮助,因为某种原因,它起作用了
add_product_to_cart(275);