Php 如果单击';添加到购物车';适用于';它已经在购物车里了
如果我单击购物车中已存在的产品的“添加到购物车”按钮,如何重定向到购物车页面 Woocommerce/wordpress: 这是我目前的代码。目前它没有重定向到购物车页面Php 如果单击';添加到购物车';适用于';它已经在购物车里了,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,如果我单击购物车中已存在的产品的“添加到购物车”按钮,如何重定向到购物车页面 Woocommerce/wordpress: 这是我目前的代码。目前它没有重定向到购物车页面 add_filter( 'woocommerce_add_to_cart_redirect', 'woo_in_cart' ); function woo_in_cart($product_id) { global $woocommerce; $url = WC()->cart-
add_filter( 'woocommerce_add_to_cart_redirect', 'woo_in_cart' );
function woo_in_cart($product_id) {
global $woocommerce;
$url = WC()->cart->get_cart_url();
foreach($woocommerce->cart->get_cart() as $key => $val ) {
$_product = $val['data'];
if($product_id == $_product->id ) {
wp_redirect($url);
}
}
}
此代码段执行您要求的操作,并且支持ajax调用。 关于代码的一些要点: 1-“woocommerce\u add\u to\u cart\u redirect”在产品已添加到购物车时触发 2-WC()->cart->get\u cart\u url()已被弃用 3-如果启用了ajax添加到购物车,则不会重定向
add_filter('woocommerce_add_to_cart_validation'、'shalior_flag_haven_added_products_as_invalid',10,2);
函数shalior_flag_已添加_products_为无效($result,$product_id){
if(false==$result){
返回$result;
}
$url=wc_get_cart_url();
foreach(WC()->cart->get_cart()作为$cart_项目){
$cart_item_product_id=$cart_item['product_id'];
如果($product\U id===$cart\U item['product\U id'])){
$result=false;
}
}
if(false==$result){
添加过滤器('woocommerce\u cart\u redirect\u after\u error',函数(){
返回wc_get_cart_url();
} , 999 );
}
返回$result;
}
您应该使用“woocommerce\u添加到\u购物车\u验证”并将其标记为无效,然后使用“woocommerce\u购物车\u错误后重定向”过滤器设置所需的重定向页面。问我你是否想要一些code@Shalior谢谢你的建议。是的,如果您不介意为我提供一些代码来使用和测试它,我会非常感激的。另外请阅读:当使用woocommerce\u添加到\u cart\u重定向时