pluginをつくって
・取得した情報をダッシュボードで見たい。
は、実現していませんが、
・ユーザーがログインしたとき、そのユーザー名とログイン日時を取得したい。
は、とりあえず実現できました。
wp_loginにhookして、管理者メールアドレスにブログ名とユーザー名を送信する、というものです。
いろいろ調べてはみたんですけどね、XOOPSでwordpressプラグインを使用すれば可能なようですが、プラグイン自体がアップデートされておらず、いまだにMEバージョン対応だったりするんですよね。
wordpressそのものにはログイン日時を取得する機能はないようなので(MUはわかりませんが)プラグインで対応するしかないのは確かでしょうね。
単純に考えるとログインしたときの情報をSQLに渡して管理とかでしょうか・・・
shokun0803さん、調査ありがとうございました。
確かにwordpressのwp_*テーブルにはログイン日時を格納するものがないです。
新規にユーザー名とログイン日時を格納するテーブルを作成するのが、スマートというかあるべき姿というか、そうすることで応用がききそうですね。
wp_loginにhookして、wp_mail関数で管理者メールアドレスに送信するpluginを作成&適用してみたものの、cookieで認証された場合、wp_loginが呼び出されないようでして、hookしてpluginを実行できてなさそうな感じです。
つまり、何一つ実現できていないというわけです。
実現方法を模索しておりまして、今のところ
・cookieを無効にして、必ずlogin画面からログインさせて、ログイン履歴を取得する
・cookieを利用して、ログイン履歴を取得する
を検討してみようと考えています。
ということで、現時点で”解決済み”のフラグを解除することにします。
ログイン状態を取得するのは、セキュリティー確認のためでしょうから、本当は「ログイン失敗」の履歴も取れた方がよいでしょうね。このため、wp_login_failed にも hook した方がよいと思います。単純なパスワードミスでメールが来るのは嫌でしょうから、「3回連続してミスった場合」とかの細工が必要かもしれません。