Quindi c'è il seguente scenario.
Aggiungo un'azione per pulire i registri dal database:
add_action( 'myplugin_clean_logs', array( 'MyPlugin_Logs', 'clean_logs' ) );
Ora voglio eseguire questa azione periodicamente:
wp_schedule_event( current_time( 'timestamp' ), 'daily', 'myplugin_clean_logs' );
ed eseguirlo manualmente:
do_action( 'myplugin_clean_logs' );
Il metodo MyPlugin_Logs::clean_logs
restituisce il conteggio delle righe interessate o false se qualcosa è andato nella direzione opposta.
Ora voglio visualizzare il numero di righe che sono state eliminate. Immaginerei qualcosa del genere:
$affected_rows = do_action( 'myplugin_clean_logs' );
echo $affected_rows . ' entries have been deleted.';
Ma poiché do_action
non restituirà alcun valore, non ho idea di come ottenere il valore restituito.
Devo eseguire il metodo direttamente su un'esecuzione manuale, ma utilizzare l'azione sugli eventi di pianificazione?