我正在使用轻松数字下载来销售一些数字产品,我想如果结帐页面是空的,当他们试图访问空结帐页面时,他们将被重定向到一个特定的页面。这是可能的吗?如果可能的话,我该怎么做?
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' );
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。
$page_id
2条答案
按热度按时间ppcbkaq51#
我知道这篇文章是旧的,但我发现一个片段,实际上工作,也许有人可以有用。
n1bvdmb62#
如果购物车中没有产品,WooCommerce已经将结帐重定向到购物车页面,但您可以更改并重定向到您的自定义页面:
请确保
$page_id
反映了您要重定向到的页面的ID。