如何防止“woocommerce_simple_add_to_cart”重定向到购物车页面?
Posted
技术标签:
【中文标题】如何防止“woocommerce_simple_add_to_cart”重定向到购物车页面?【英文标题】:How to prevent "woocommerce_simple_add_to_cart" this from redirecting to cart page? 【发布时间】:2022-01-09 20:19:06 【问题描述】:我正在为主页中的产品显示创建自定义简码,我正在显示带有标题、数量和添加到购物车按钮的图像,我正在使用以下代码:
add_filter( 'woocommerce_loop_add_to_cart_link', 'quantity_inputs_for_woocommerce_loop_add_to_cart_link', 10, 2 );
function quantity_inputs_for_woocommerce_loop_add_to_cart_link( $html, $product )
if ( $product && $product->is_type( 'simple' ) && $product->is_purchasable() && $product->is_in_stock() && ! $product->is_sold_individually() )
$html = '<form action="' . esc_url( $product->add_to_cart_url() ) . '" class="cart" method="post" enctype="multipart/form-data">';
$html .= woocommerce_quantity_input( array(), $product, false );
$html .= '<button type="submit" class="button alt product_type_simple add_to_cart_button ajax_add_to_cart">' . esc_html( $product->add_to_cart_text() ) . '</button>';
$html .= '</form>';
return $html;
这段代码不知何故重定向,所以我想为什么不使用 Hook,所以我尝试了这个:
add_filter( 'woocommerce_loop_add_to_cart_link', 'quantity_inputs_for_woocommerce_loop_add_to_cart_link', 10, 2 );
function quantity_inputs_for_woocommerce_loop_add_to_cart_link( $html, $product )
do_action('woocommerce_simple_add_to_cart');
但两者都不起作用它重定向到购物车页面。 单击添加到购物车按钮时,应将项目添加到购物车中,并且页面应保持原样,不应重定向或刷新。
提前致谢。
【问题讨论】:
【参考方案1】:您是否在 WooCommerce 设置中禁用了“购物车重定向”?
WooCommerce > 设置 > 产品选项卡
步骤 #2
好吧,如果没有帮助,请尝试使用wp_get_referer
:
add_filter( 'woocommerce_add_to_cart_redirect', 'wp_get_referer' );
如果您想要自定义重定向,可以在下面找到过滤器:
add_filter( 'woocommerce_add_to_cart_redirect', 'custom_redirect_function' );
function custom_redirect_function()
return get_permalink( wc_get_page_id( 'shop' ) );
【讨论】:
嘿莫拉这不起作用我已经尝试过。 嘿@tejal,请检查更新 不幸的是,两者都不起作用。 将代码粘贴到 functions.php 文件中是否正确? 是的,我复制粘贴了function.php中的确切代码以上是关于如何防止“woocommerce_simple_add_to_cart”重定向到购物车页面?的主要内容,如果未能解决你的问题,请参考以下文章