用户点击后,重定向到自定义网址即可继续结帐'在购物车页面(wordpress)

时间:2014-12-08 10:27:29

标签: php wordpress woocommerce

当用户点击'继续结帐'在购物车页面,我想将他发送到自定义网址。我在functions.php中使用了这个过滤器

add_filter('woocommerce_get_checkout_url', 'dj_redirect_checkout');

function dj_redirect_checkout($url) {
     global $woocommerce;
     $checkout_url = 'http://my-custom-url.com';
     return  $checkout_url; 
}

但是,在这种情况下,此过滤器也会在结帐页面上触发,我想在购物车页面上触发它,然后点击“结束”结帐'仅

请建议。

谢谢,

1 个答案:

答案 0 :(得分:4)

您可以做的是,在代码中使用conditional tags

    add_filter('woocommerce_get_checkout_url', 'dj_redirect_checkout');

    function dj_redirect_checkout($url) {
         global $woocommerce;
         if(is_cart()){
              $checkout_url = 'http://my-custom-url.com';
         }
         else { 
         //other url or leave it blank.
         }
         return  $checkout_url; 
    }

已编辑

如果您想在点击添加到卡片按钮后将用户重定向到自定义URL,那么您可以使用以下代码:

    add_filter ('add_to_cart_redirect', 'redirect_to_checkout');

    function redirect_to_checkout() {
        global $woocommerce;
        $checkout_url = 'http://my-custom-url.com';
        return $checkout_url;
    }

第二次修改

您可以为此做的只是在模板上制作结帐页面:

    <?php 
    /**
    * Template Name: Custom Template
    *
    *Custom Template for the woocommerce checkout page
    *
    */

    get_header();?>

    <a href="?page_id=6">Click Me! </a>

    <?php 
    get_footer();
    ?>

在上面的代码中,我创建了名称为自定义模板的模板,并将其与wtemplate.php一起保存在主题文件夹中。

下一步是创建新页面。我创建了一个名为简单模板的新页面(您可以根据需要为其命名)。在侧边栏中,可以选择模板(您可以在下面看到图片以供参考),我选择自定义模板作为模板。

enter image description here

现在转到信息中心&gt; WooCommerce&gt;设置&gt;结帐**,并且可以选择结帐页面(您可以在下面的图片中找到)。选择您已制作的页面(我已经制作了**简单模板,如上面的代码所示)并保存。

enter image description here

现在,只要用户点击Proceed to Checkout,他们就会重定向到该自定义模板。在自定义模板中,您可以链接到woocommerce default checkout page(在我的情况下,它有page_id = 6)。

希望对您有所帮助。如果您对此有任何疑问,可以发表评论。