一定期間ログインしていないユーザーのプロフィールを更新したい
-
各ユーザーの最終ログイン日をチェックし、1年以上ログインしていなかったら、
プロフィール情報を一部更新するという処理を定期的に行いたいと思っております。
(管理者は除外したいです)下記のようにfunctions.phpに追加してみました。
データベースを確認すると、最終ログイン日が”last_login”として
記録されていることは確認できましたが、
最終ログイン日が1年以上前のユーザーが存在していても
特に何も変化がありません。(数日経過してます)//ユーザーの最終ログイン日を記録 function user_last_login( $user_login, $user ) { update_user_meta( $user->ID, 'last_login', time() ); } add_action( 'wp_login', 'user_last_login', 10, 2 ); //定期的にログインしていないユーザーを更新 function user_info_update_check() { if ( !wp_next_scheduled( 'user_info_update_event' ) ) { wp_schedule_event(time(), 'daily', 'user_info_update_event'); } } add_action('wp', 'user_info_update_check'); function user_info_update( $user_id ) { $user_info = get_userdata($user_id); $user_lastlogin_time = $user_info->last_login; $yearago = date("Y-m-d H:i:s",strtotime("-1 year")); $yearago_time = strtotime($yearago); if( $user_lastlogin_time < $yearago_time ) { if ( !current_user_can('administrator') ) { update_user_meta( $user_info->ID, 'first_name', 'ログインしてない' ); } } } add_action('user_info_update_event', 'user_info_update');
functions.phpに追加したコードが間違っているのだと思いますが、
エラーも出ていないのでどこから手をつけて良いのかわからず悩んでおります。どうかお力添えいただけると幸いです。
よろしくお願いいたします。
2件の返信を表示中 - 1 - 2件目 (全2件中)
2件の返信を表示中 - 1 - 2件目 (全2件中)
- トピック「一定期間ログインしていないユーザーのプロフィールを更新したい」には新たに返信することはできません。