it-swarm-vi.tech

Cách ghi đè wp-login.php

Tôi muốn ghi đè trang Đăng nhập WordPress mặc định: wp-login.php.

Lý do là, tôi muốn viết một số mã tùy chỉnh ở đầu tệp, kiểm tra một số điều kiện trong phần phụ trợ và thực hiện các công việc như chuyển hướng người dùng đến một trang khác.

Tôi muốn làm điều này bởi vì tôi muốn thực hiện logic xác thực của riêng mình trong một tệp tùy chỉnh, mà không hiển thị biểu mẫu đăng nhập mặc định của WordPress. Logic của tôi bao gồm phân tích một số dữ liệu cookie và phiên (không có hình thức đăng nhập cụ thể, có thể là một hình thức tùy chỉnh).

Tôi thực sự đã nghĩ đến việc viết logic của mình trong tệp header.php của một chủ đề con, nhưng thật không may, tệp wp-login.php không bao gồm tệp tiêu đề của chủ đề.

Tôi không muốn chỉnh sửa trực tiếp wp-login.php vì tôi lo lắng tất cả các sửa đổi của tôi sẽ bị mất với bất kỳ cập nhật WordPress nào trong tương lai.

Có cách nào để tôi có thể ghi đè trang đăng nhập WordPress một cách an toàn mà không phải chịu bất kỳ tổn thất nào sau khi cập nhật WordPress không?

Hoặc có thể định tuyến tất cả các yêu cầu tới wp-login.php, đến tệp PHP tùy chỉnh để tôi có thể viết tất cả logic của mình trong tệp đó?

3
shasi kanth

Không sửa đổi lõi, sử dụng các hành động và hệ thống móc thay thế

add_action( 'login_init', 'yourloginoverrides' );

function yourloginoverrides() {
    // do some check and call wp_redirect if its true or whatever you wanted to do
}
6
Tom J Nowell