Php Woocommerce:访问页面时自动添加到购物车(可变产品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文件中)

在我名为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);