質問編集履歴
6
コードの誤字を訂正しました
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
コードの誤字を訂正しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -170,7 +170,7 @@
|
|
170
170
|
|
171
171
|
// 1日経過してもpendingのユーザを削除します
|
172
172
|
|
173
|
-
function my_pending_del(
|
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...様のアドバイスを追記
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
補足しました
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
文章を一部修正しました
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に変更しました
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_
|
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_
|
123
|
+
if( ! wp_next_scheduled( 'my_daily_event' ) ) {
|
124
124
|
|
125
|
-
wp_schedule_event( $register_time , 'daily', 'my_
|
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_
|
135
|
+
add_action( 'my_daily_event', 'my_pending_del' );
|
136
136
|
|
137
137
|
function my_pending_del( $user_id ) {
|
138
138
|
|