Entonces, existe el siguiente escenario.
Agrego una acción para limpiar los registros de la base de datos:
add_action( 'myplugin_clean_logs', array( 'MyPlugin_Logs', 'clean_logs' ) );
Ahora quiero ejecutar esta acción periódicamente:
wp_schedule_event( current_time( 'timestamp' ), 'daily', 'myplugin_clean_logs' );
y ejecutarlo manualmente:
do_action( 'myplugin_clean_logs' );
El método MyPlugin_Logs::clean_logs
devuelve el recuento de filas afectadas o falso si algo fue en la otra dirección.
Ahora quiero mostrar el número de filas que se han eliminado. Me imagino algo como esto:
$affected_rows = do_action( 'myplugin_clean_logs' );
echo $affected_rows . ' entries have been deleted.';
Pero como do_action
no devolverá ningún valor, no tengo idea de cómo obtener el valor de retorno.
¿Debo ejecutar el método directamente en una ejecución manual, pero usar la acción en eventos programados?