したがって、次のシナリオがあります。
データベースからログを削除するアクションを追加します。
add_action( 'myplugin_clean_logs', array( 'MyPlugin_Logs', 'clean_logs' ) );
今、私はこのアクションを定期的に実行したいと思います:
wp_schedule_event( current_time( 'timestamp' ), 'daily', 'myplugin_clean_logs' );
そしてそれを手動で実行します:
do_action( 'myplugin_clean_logs' );
このメソッドMyPlugin_Logs::clean_logs
は影響を受けた行の数を返すか、何かが他の方向に進んだ場合はfalseを返します。
次に、削除された行の数を表示します。私はこのようなものを想像します:
$affected_rows = do_action( 'myplugin_clean_logs' );
echo $affected_rows . ' entries have been deleted.';
しかし、do_action
値を返さないので、戻り値を取得する方法がわかりません。
手動実行でメソッドを直接実行する必要がありますが、スケジュールイベントのアクションを使用する必要がありますか?
1
あなたはスケジュールされたイベントで何もエコーしたくないので、はい、私は手動で直接メソッドを実行します(管理者がこれをトリガーし、出力を表示したいと思います)。
—
Tim Malone、