问题描述
当用户将单页产品直接单击到购物车时,我希望将他们重定向到购物车,而无需转到仅针对一个类别产品的产品描述页。
我使用了以下代码:
add_action( 'wp','ts_redirect_product_pages',99 );
function ts_redirect_product_pages() {
if ( is_product() ) {
wp_safe_redirect( home_url('/cart/'));
exit;
}
}
它正在重定向到购物车页面,但所有其他产品类别也正在重定向,我只希望重定向一个产品类别,请指导我如何执行
解决方法
最好使用template_redirect
挂钩。要定位特定的产品类别,可以使用WordPress has_term()
条件函数。对于购物车网址,最好使用WooCommerce函数wc_get_cart_url()
...
因此,在下面的代码中,定义您的产品类别术语,名称,段或ID:
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文件中。应该可以。