問題点
プラグインを使用せずに、WordPressの「wp-login.php」でログインした時に、ログインアラートメールを受け取りたい。プラグインでは、いくつかあるのだが、セキュリティーに関するところなので、可能な限りプラグインには頼りたくない。
結論:WordPressのログインをメールで通知したい場合は、プラグインを使わずにテーマや独自コードでログイン時の通知処理を追加できます。ただし、コードを誤るとログインやメール送信に影響する可能性があるため、編集前にバックアップを取り、テスト環境または影響の少ない環境で確認してから反映してください。
ログインアラートメール ソースコード
下記、ソースコードをテーマか子テーマの「functuin.php」に設置するとログインアラートメールが送信されるようになる。
add_action( 'wp_login', 'login_alert_func', 10, 2 );
function login_alert_func ( $user_login , $current_user ) {
wp_mail( '受信したいメールアドレス', 'メールのタイトル', 'メールの本文' );
}
順番にプログラムの解説です。
add_action( ‘wp_login’, ‘関数’, 10, 2 );
「wp_login」はWordPressのアクションフックで、WordPressにログインした時に処理をするものに使用します。
wp_mail( ‘受信したいメールアドレス’, ‘メールのタイトル’, ‘メールの本文’ );
「wp_mail()」WordPressの機能を使ってメールを送信しています。「wp_mail()」は30分~1時間遅れる場合があります。
詳細は、上記の記事で紹介しています。場合によってはメール送信部分をSMTPのメールサーバ接続に変更しても良いと思います。
その他
ざっくりと、一番基本的な機能のみで作っていますので、必要に応じて機能は追加していくとよいと思います。
また、検証はしていませんが、日本語が文字化けする可能性がありますので、文字化けする場合は、回避処理を入れてください。
あわせて確認したいWordPress関連記事
WordPressのログイン通知、アクセス制限、HTTPS設定、アクセスログ確認を見直したい場合は、以下の記事もあわせて確認してみてください。
- .htaccess 特定のホスト、IPの許可と制限
- WordPress「サイトのHTTPS接続に問題があります。」対処法
- PHP アクセスログ プログラム 生ログ風 WordPressにも組み込み方法
- WordPress関連記事一覧
ログイン通知だけでなく、アクセス制限、HTTPS、アクセスログもあわせて確認しておくと、WordPress管理画面まわりのセキュリティ確認がしやすくなります。