我想添加一个功能,可以将访问过的任何产品添加到购物车中,并自动清空购物车,并在离开产品页面时从购物车中清空。
下面的代码是关于添加一个产品,如果你访问一个特定的页面在WordPress:
add_action( 'wp', 'bbloomer_add_product_to_cart_on_page_id_load' );
function bbloomer_add_product_to_cart_on_page_id_load() {
$product_id = 14837;
if ( is_page( 19473 ) ) {
WC()->cart->empty_cart();
WC()->cart->add_to_cart( $product_id );
}
}
但是我想要一种方法,使代码工作时,访问产品页面不选择特定的产品页面或选择一个正常的wordpress页面
我试着使用这个代码,但它不工作
add_action( 'wp', 'bbloomer_add_product_to_cart_on_page_id_load' );
function bbloomer_add_product_to_cart_on_page_id_load() {
global $product;
$product_id=$product->id;
$slug = $product->get_slug();
if ( is_page( $slug ) ) {
WC()->cart->empty_cart();
WC()->cart->add_to_cart( $product_id );
}
}
我终于找到解决办法了
add_action( 'wp', 'bbloomer_add_product_to_cart_on_page_id_load' );
function bbloomer_add_product_to_cart_on_page_id_load() {
if ( is_product() ) {
$product = wc_get_product();
$id = $product->get_id();
$product_id = $id;
if ($id ==$product_id ) {
WC()->cart->empty_cart();
WC()->cart->add_to_cart( $product_id );
}else{ WC()->cart->empty_cart(); }
}
}