質問編集履歴

6

コードの誤字を訂正しました

2019/09/02 13:45

投稿

hotaruika
hotaruika

スコア57

test CHANGED
File without changes
test CHANGED
@@ -176,7 +176,7 @@
176
176
 
177
177
  require_once( ABSPATH.'wp-admin/includes/user.php' ); // TAMA...様のアドバイスにより require_once を追記
178
178
 
179
- wp_delete_user( $u_id );
179
+ wp_delete_user( $user_id );
180
180
 
181
181
  // ユーザ削除以外のイベントが実行されるかどうかテスト
182
182
 

5

コードの誤字を訂正しました

2019/09/02 13:45

投稿

hotaruika
hotaruika

スコア57

test CHANGED
File without changes
test CHANGED
@@ -170,7 +170,7 @@
170
170
 
171
171
  // 1日経過してもpendingのユーザを削除します
172
172
 
173
- function my_pending_del( $user_id){
173
+ function my_pending_del( $user_id){
174
174
 
175
175
  // ユーザ削除
176
176
 
@@ -180,7 +180,7 @@
180
180
 
181
181
  // ユーザ削除以外のイベントが実行されるかどうかテスト
182
182
 
183
- $report = $u_id.'を削除しました';
183
+ $report = $user_id.'を削除しました';
184
184
 
185
185
  update_user_meta( '1', 'my_pending_del_report', $report );
186
186
 
@@ -196,7 +196,7 @@
196
196
 
197
197
 
198
198
 
199
- ですが、画像のようにイベントは登録できているはずなのに、実際に`wp_delete_user()`や`update_user_meta()`は発生しないという状況です。(サイトへのアクセス発生しています。)
199
+ ですが、画像のようにイベントは登録できているはずなのに、実際に`wp_delete_user()`や`update_user_meta()`は発生しないという状況です。(サイトへのアクセス発生しています。)
200
200
 
201
201
 
202
202
 

4

補足のコードにTAMA...様のアドバイスを追記

2019/09/02 13:44

投稿

hotaruika
hotaruika

スコア57

test CHANGED
File without changes
test CHANGED
@@ -174,6 +174,8 @@
174
174
 
175
175
  // ユーザ削除
176
176
 
177
+ require_once( ABSPATH.'wp-admin/includes/user.php' ); // TAMA...様のアドバイスにより require_once を追記
178
+
177
179
  wp_delete_user( $u_id );
178
180
 
179
181
  // ユーザ削除以外のイベントが実行されるかどうかテスト

3

補足しました

2019/09/02 13:34

投稿

hotaruika
hotaruika

スコア57

test CHANGED
File without changes
test CHANGED
@@ -149,3 +149,53 @@
149
149
 
150
150
 
151
151
  どなたかご協力宜しくお願い致します。
152
+
153
+
154
+
155
+ ###補足
156
+
157
+ kei344様より削除関数など教えていただき、上記の「ユーザを削除するコード」を、下記のように変更しました。
158
+
159
+
160
+
161
+ 後述の画像の通り、イベントの登録はできたように思えます。
162
+
163
+ ```
164
+
165
+ // イベントの登録
166
+
167
+ wp_schedule_single_event( strtotime( '+60 min', time() ), 'my_pending_del_activation', array($user_id) );
168
+
169
+
170
+
171
+ // 1日経過してもpendingのユーザを削除します
172
+
173
+ function my_pending_del( $user_id){
174
+
175
+ // ユーザ削除
176
+
177
+ wp_delete_user( $u_id );
178
+
179
+ // ユーザ削除以外のイベントが実行されるかどうかテスト
180
+
181
+ $report = $u_id.'を削除しました';
182
+
183
+ update_user_meta( '1', 'my_pending_del_report', $report );
184
+
185
+ }
186
+
187
+ add_action('my_pending_del_activation','my_pending_del');
188
+
189
+ ```
190
+
191
+ 上のイベントの登録は次のとおり、「WP Crontrol」(イベント管理プラグイン)によって確認されます。
192
+
193
+ ![イメージ説明](78ca6564e791dcc4fce0732b27c1631b.png)
194
+
195
+
196
+
197
+ ですが、画像のようにイベントは登録できているはずなのに、実際に`wp_delete_user()`や`update_user_meta()`は発生しないという状況です。(サイトへのアクセスも発生しています。)
198
+
199
+
200
+
201
+ 自力でこれ以上先に進むのが難しいのですが、ご助力願えませんでしょうか。

2

文章を一部修正しました

2019/09/02 12:28

投稿

hotaruika
hotaruika

スコア57

test CHANGED
File without changes
test CHANGED
@@ -94,7 +94,7 @@
94
94
 
95
95
 
96
96
 
97
- 上の`my_pending_del_activation()`ですが、pendingが1日以上たったとき、そのユーザに対して`wp_delete_user()`するイベントを登録する内容にすべきかと思っています。
97
+ 上の`my_pending_del_activation()`ですが、pendingが1日以上たったとき、そのユーザに対して`wp_delete_user()`するイベントを登録する。という内容にすべきかと思っています。
98
98
 
99
99
 
100
100
 
@@ -144,7 +144,7 @@
144
144
 
145
145
  ```
146
146
 
147
- 以上は素人ながらの実装方法なので、他の実装方法や注意点などご教授願えましたらと思い質問を立てさせて頂きました。
147
+ 以上は素人ながらの実装方法なので、他の実装方法や注意点なども併せてご教授願えましたらと思い質問を立てさせて頂きました。
148
148
 
149
149
 
150
150
 

1

hourlyをdailyに変更しました

2019/08/30 08:34

投稿

hotaruika
hotaruika

スコア57

test CHANGED
File without changes
test CHANGED
@@ -106,7 +106,7 @@
106
106
 
107
107
 
108
108
 
109
- `my_pending_del_activation()`から`my_pending_del()`へいくには`my_hourly_event`を通さねばならず、そのときに`$user_id`を渡す方法がわからない状況です。(というか、それができれば無事削除できるでしょうか?)
109
+ `my_pending_del_activation()`から`my_pending_del()`へいくには`my_daily_event`を通さねばならず、そのときに`$user_id`を渡す方法がわからない状況です。(というか、それができれば無事削除できるでしょうか?)
110
110
 
111
111
 
112
112
 
@@ -120,9 +120,9 @@
120
120
 
121
121
  function my_pending_del_activation( $user_id, $register_time ) {
122
122
 
123
- if( ! wp_next_scheduled( 'my_hourly_event' ) ) {
123
+ if( ! wp_next_scheduled( 'my_daily_event' ) ) {
124
124
 
125
- wp_schedule_event( $register_time , 'daily', 'my_hourly_event' )
125
+ wp_schedule_event( $register_time , 'daily', 'my_daily_event' )
126
126
 
127
127
  }
128
128
 
@@ -132,7 +132,7 @@
132
132
 
133
133
  // 1日経過してもpendingのユーザを削除します
134
134
 
135
- add_action( 'my_hourly_event', 'my_pending_del' );
135
+ add_action( 'my_daily_event', 'my_pending_del' );
136
136
 
137
137
  function my_pending_del( $user_id ) {
138
138