Jest więc następujący scenariusz.
Dodaję akcję, aby wyczyścić dzienniki z bazy danych:
add_action( 'myplugin_clean_logs', array( 'MyPlugin_Logs', 'clean_logs' ) );
Teraz chcę okresowo uruchamiać tę akcję:
wp_schedule_event( current_time( 'timestamp' ), 'daily', 'myplugin_clean_logs' );
i wykonaj ręcznie:
do_action( 'myplugin_clean_logs' );
Metoda MyPlugin_Logs::clean_logs
zwraca liczbę dotkniętych wierszy lub fałsz, jeśli coś poszło w innym kierunku.
Teraz chcę wyświetlić liczbę usuniętych wierszy. Wyobrażam sobie coś takiego:
$affected_rows = do_action( 'myplugin_clean_logs' );
echo $affected_rows . ' entries have been deleted.';
Ale ponieważ do_action
nie zwróci żadnej wartości, nie mam pojęcia, jak uzyskać wartość zwracaną.
Czy powinienem wykonać metodę bezpośrednio podczas uruchamiania ręcznego, ale użyć tej akcji do zaplanowania zdarzeń?