如何防止“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”重定向到购物车页面?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止超卖

在winform当中提交数据,如何防止重复提交?

PostgreSQL如何防止表太大?

如何彻底防止SQL注入?

如何防止VBS的错误提示

https如何防止会话劫持