wordpress Easy Digital Downloads在访问结帐页面时重定向到特定页面,但该页面为空

djmepvbi  于 2022-11-02  发布在  WordPress
关注(0)|答案(2)|浏览(130)

我正在使用轻松数字下载来销售一些数字产品,我想如果结帐页面是空的,当他们试图访问空结帐页面时,他们将被重定向到一个特定的页面。这是可能的吗?如果可能的话,我该怎么做?

ppcbkaq5

ppcbkaq51#

我知道这篇文章是旧的,但我发现一个片段,实际上工作,也许有人可以有用。

function edd_empty_cart_redirect() {
    $cart       = function_exists( 'edd_get_cart_contents' ) ? edd_get_cart_contents() : false;
    $redirect   = site_url( 'shop' ); // could be the URL to your shop

    if ( function_exists( 'edd_is_checkout' ) && edd_is_checkout() && ! $cart ) {
        wp_redirect( $redirect, 301 ); 
        exit;
    }
}
add_action( 'template_redirect', 'edd_empty_cart_redirect' );
n1bvdmb6

n1bvdmb62#

如果购物车中没有产品,WooCommerce已经将结帐重定向到购物车页面,但您可以更改并重定向到您的自定义页面:

function wc_custom_template_redirect(){
    global $wp_query, $wp;
    // When on the checkout with an empty cart, redirect to cart page.
    if ( is_page( wc_get_page_id( 'checkout' ) ) && wc_get_page_id( 'checkout' ) !== wc_get_page_id( 'cart' ) && WC()->cart->is_empty() && empty( $wp->query_vars['order-pay'] ) && ! isset( $wp->query_vars['order-received'] ) && ! is_customize_preview() && apply_filters( 'woocommerce_checkout_redirect_empty_cart', true ) ) {
        $page_id = 62;
        wp_redirect( get_the_permalink( $page_id ) );
        exit;
    }

}
add_action( 'template_redirect', 'wc_custom_template_redirect', 0 );

请确保$page_id反映了您要重定向到的页面的ID。

相关问题