首页 > 解决方案 > 如何将特定类别的产品页面重定向到 Woocommerce 中的购物车页面

问题描述

我想在用户直接单击单页产品时将其重定向到购物车,而无需转到仅一个类别产品的产品描述页面。

我使用了这段代码:

add_action( 'wp', 'ts_redirect_product_pages', 99 );

function ts_redirect_product_pages() {
     
    if ( is_product() ) {
        wp_safe_redirect( home_url('/cart/')); 
        exit;
    } 
}

它重定向到购物车页面,但所有其他产品类别也重定向我只希望重定向一个产品类别,请指导我如何做到这一点

标签: phpwordpressredirectwoocommercetaxonomy-terms

解决方案


最好用template_redirect钩子。要定位特定的产品类别,您可以使用 WordPresshas_term()条件函数。对于购物车 url,最好使用 WooCommerce 功能wc_get_cart_url()...

因此,在下面的代码中定义您的产品类别术语名称、slug(s) 或 Id(s):

add_action( 'template_redirect', 'ts_redirect_product_pages' );

function ts_redirect_product_pages() {
    $categories = array('my-category-1', 'my-category-2');

    if ( is_product() && has_term( $categories, 'product_cat' ) ) {
        wp_safe_redirect( wc_get_cart_url() );
        exit;
    }
}

代码位于活动子主题(或活动主题)的 functions.php 文件中。它应该工作。


推荐阅读