web-dev-qa-db-ja.com

Wp-login.phpを上書きする方法

デフォルトのWordPressログインページwp-login.phpを上書きしたいです。

その理由は、ファイルの先頭にいくつかのカスタムコードを書き、バックエンドのいくつかの条件をチェックし、ユーザーを他のページにリダイレクトするなどのことを実行するためです。

デフォルトのWordPressログインフォームを表示せずに、独自の認証ロジックをカスタムファイルで実行したいので、これを行いたいのです。私のロジックには、クッキーとセッションデータの解析が含まれています(特にログインフォームはありません。カスタムフォームの場合もあります)。

私は実際に自分のロジックを子テーマのheader.phpファイルに書くことを考えましたが、残念ながらwp-login.phpファイルはテーマのヘッダファイルを含んでいません。

将来のWordPressの更新によって私のすべての変更が失われるのではないかと心配しているので、wp-login.phpを直接編集したくはありません。

WordPressの更新後に損失を被ることなく、WordPressのログインページを安全に上書きできる方法はありますか?

それとも、すべてのリクエストをwp-login.phpに、カスタムのPHPファイルに転送して、すべてのロジックをそのファイルに書き込めるようにすることは可能ですか。

3
shasi kanth

コアを変更しないで、代わりにactions and hooksシステムを使用してください

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