---
title: "Redirect về trang cũ sau khi đăng nhập trong WooCommerce"
author: "Trung Hiếu"
date: "2024-10-11"
lastmod: "2024-10-11"
url: "https://wpcanban.com/wordpress/thu-thuat-wordpress/redirect-ve-trang-cu-sau-khi-dang-nhap-trong-woocommerce.html"
---

# Redirect về trang cũ sau khi đăng nhập trong WooCommerce

Redirect về trang cũ sau khi đăng nhập trong WooCommerce.

![redirect-ve-trang-cu-sau-khi-dang-nhap-trong-woocommerce](https://wpcanban.com/wp-content/uploads/2024/10/redirect-ve-trang-cu-sau-khi-dang-nhap-trong-woocommerce.png)

Bạn có để ý mỗi lần đăng nhập tài khoản trên các sàn thương mại điện tử như Shopee, Lazada, Tiki… bạn sẽ được redirect về trang cũ (ví dụ một sản phẩm nào đó mà bạn đang xem ngay trước thời điểm đăng nhập) không? Điều này giúp trải nghiệm mua sắm của bạn không bị gián đoạn (nghĩa là bạn không phải mất công tìm lại sản phẩm đó một lần nữa). Nếu bạn muốn tích hợp tính năng tương tự như vậy cho website bán hàng bằng [WooCommerce](https://wpcanban.com/tag/woocommerce) của mình thì bài viết hôm nay là dành cho bạn.

Tham khảo thêm:

- [Tinh giản WooCommerce giúp website của bạn nhẹ hơn](https://wpcanban.com/wordpress/thu-thuat-wordpress/tinh-gian-woocommerce-giup-website-nhe-hon.html)
- [Tích hợp thanh toán quét mã QR cho WooCommerce](https://wpcanban.com/wordpress/thu-thuat-wordpress/tich-hop-thanh-toan-quet-ma-qr-cho-woocommerce.html)

## Redirect về trang cũ sau khi đăng nhập

Theo mặc định, bạn sẽ được chuyển hướng về trang Tài khoản (My Account) sau khi đăng nhập trên WooCommerce. Để tự động chuyển hướng về trang đang truy cập trước đó, chúng ta sẽ cần can thiệp bằng code.

Tất cả những gì các bạn cần làm là chèn đoạn code sau đây vào file `functions.php` của theme hoặc child theme mà bạn đang sử dụng. Các bạn cũng có thể sử dụng plugin [Code Snippets](https://wpcanban.com/wordpress/thu-thuat-wordpress/chen-code-php-vao-wordpress-voi-plugin-code-snippets.html) để chèn nhằm tránh nó bị xóa mất khi cập nhật theme.

```
//* Redirect users to their previous page
function wpcb_capture_referrer_url_for_auth() {
    if ( isset( $_SERVER['HTTP_REFERER'] ) && !empty( $_SERVER['HTTP_REFERER'] ) && !strstr( $_SERVER['HTTP_REFERER'], 'my-account' ) ) {
        set_transient( 'auth_referrer_url', esc_url( $_SERVER['HTTP_REFERER'] ), 60 * 60 * 24 );
    }
}

add_action( 'woocommerce_before_customer_login_form', 'wpcb_capture_referrer_url_for_auth' );
add_action( 'woocommerce_register_form', 'wpcb_capture_referrer_url_for_auth' );

add_filter( 'woocommerce_login_redirect', 'wpcb_redirect_after_login_to_referrer', 10, 2 );
function wpcb_redirect_after_login_to_referrer( $redirect, $user ) {
    $referrer_url = get_transient( 'auth_referrer_url' );
    if ( $referrer_url ) {
        delete_transient( 'auth_referrer_url' );
        return $referrer_url;
    }
    return $redirect;
}

add_filter( 'woocommerce_registration_redirect', 'wpcb_redirect_after_registration_to_referrer' );
function wpcb_redirect_after_registration_to_referrer( $redirect ) {
    $referrer_url = get_transient( 'auth_referrer_url' );
    if ( $referrer_url ) {
        delete_transient( 'auth_referrer_url' );
        return $referrer_url;
    }
    return $redirect;
}
```

Ở dòng code số 3, nhớ thay `my-account` bằng slug trang tài khoản của bạn. Ví dụ nếu nó là `domain.com/tai-khoan` thì các bạn điền `tai-khoan`.

Lưu lại, xóa cache và kiểm tra kết quả. Thật đơn giản phải không nào? Chúc các bạn thành công!

Bạn biết giải pháp đơn giản và hiệu quả hơn giúp redirect về trang cũ sau khi đăng nhập trong WooCommerce? Hãy chia sẻ nó với chúng tôi thông qua khung bình luận bên dưới.

*Nếu bạn thích bài viết này, hãy theo dõi blog của tôi để thường xuyên cập nhật những bài viết hay nhất, mới nhất nhé. Cảm ơn rất nhiều.* :)
