我有这个代码:
add_action('template_redirect', 'woo_custom_redirect');
function woo_custom_redirect( $redirect ) {
if (
! is_user_logged_in()
&& (is_checkout())
) {
wp_redirect( home_url( '/my-account/edit-account/' ) );
return $redirect;
}
}
当我下订单购买某个类别的产品时,如何更换重定向条件?
例如,如果用户从某个类别购买产品,那么当他尝试下订单时,他会在成功注册后重定向到注册并返回.
解决方法:
以下代码在具有特定产品类别的项目时,将在结帐页面中将未登录用户重定向到我的帐户页面.您必须在代码中定义您的特定产品类别:
add_action('template_redirect', 'woo_custom_redirect');
function woo_custom_redirect( $redirect ) {
// HERE set your product category (can be term IDs, slugs or names)
$category = 'posters';
$found = false;
// CHECK CART ITEMS: search for items from our product category
foreach ( WC()->cart->get_cart() as $cart_item ){
if( has_term( $category, 'product_cat', $cart_item['product_id'] ) ) {
$found = true;
break;
}
}
if ( ! is_user_logged_in() && is_checkout() && $found ) {
wp_redirect( get_permalink( get_option('woocommerce_myaccount_page_id') ) );
exit();
}
}
代码位于活动子主题(或活动主题)的function.php文件中.经过测试和工作.