在WP中重定向,之后添加通知

时间:2014-05-26 06:05:55

标签: php wordpress redirect woocommerce

我还是比较熟悉PHP,所以请耐心等待我!

目前在WordPress中使用WooCommerce,并且我尝试将客户直接重定向到购物车,并在他们尝试两次添加相同产品时将通知应用到购物车页面。

// Downloadable/virtual qty check
        if ( $product_data->is_sold_individually() ) {
            $in_cart_quantity = $cart_item_key ? $this->cart_contents[$cart_item_key]['quantity'] : 0;

            // If it's greater than 0, it's already in the cart
            if ( $in_cart_quantity > 0 ) {
                wp_redirect( 'MySite.com/cart' ); exit;

                wc_add_notice( sprintf( __( 'You cannot add another "%s" to your cart. You have been redirected to your cart for purchase.', 'woocommerce' ), $product_data->get_title() ) ), 'notice' );
            }
        }

我知道上面的if语句不正确。我只想表明我想要完成的是什么。详细说明:

  • 我目前使用的主题没有WooCommerce的集成页面。到目前为止,作者提供了糟糕的支持,并希望为整合提供额外的支付。不这样做。
  • 因此,我试图隐藏我店铺的各个方面。我设置了定价表,单击“购买”按钮时,“产品”会自动添加到购物车中,然后重定向到购物车进行购买。
  • 当用户尝试两次添加相同的软件包时,它会重定向回单个产品页面并添加错误通知,告知他们无法执行此操作。请记住,我正在使用通常通过产品页面上的“添加到购物车”按钮显示的链接以及我的定价表。这就是为什么它把我带回商店页面。
  • 我想在重定向后向购物车页面顶部添加通知,告知他们为什么他们被重定向。

为文本墙道歉。我宁愿在OP中提供尽可能多的信息,而不是让人们试图辨别我在问什么。

最后一点,是的,我试图在WooCommerce插件页面上创建一个支持主题,但他们只是在回答他们最近的1k支持主题中的100个。我妻子和我最近的支持请求都已经持续了好几个星期。我永远不会在那里找到解决方案。

提前谢谢!

1 个答案:

答案 0 :(得分:-1)

你几乎拥有它。我认为你无法让它工作的原因是因为在重定向的同一行上隐藏了一点exit;位。您需要使用wc_add_notice添加通知,执行重定向,然后退出脚本。

        if ( $in_cart_quantity > 0 ) {
            wc_add_notice( sprintf( __( 'You cannot add another "%s" to your cart. You have been redirected to your cart for purchase.', 'woocommerce' ), $product_data->get_title() ) ), 'notice' );
            wp_redirect( 'MySite.com/cart' ); 
            exit;                
        }

还有一个提示:请不要在重定向中使用硬编码的网址,请使用:wp_redirect( WC()->cart->get_cart_url() );