Portanto, existe o seguinte cenário.
Eu adiciono uma ação para limpar logs do banco de dados:
add_action( 'myplugin_clean_logs', array( 'MyPlugin_Logs', 'clean_logs' ) );
Agora eu quero executar esta ação periodicamente:
wp_schedule_event( current_time( 'timestamp' ), 'daily', 'myplugin_clean_logs' );
e execute-o manualmente:
do_action( 'myplugin_clean_logs' );
O método MyPlugin_Logs::clean_logs
retorna a contagem de linhas afetadas ou false se algo foi na outra direção.
Agora eu quero exibir o número de linhas que foram excluídas. Eu imaginaria algo assim:
$affected_rows = do_action( 'myplugin_clean_logs' );
echo $affected_rows . ' entries have been deleted.';
Mas como do_action
não retornará nenhum valor, não tenho idéia de como obter o valor de retorno.
Devo executar o método diretamente em uma execução manual, mas usar a ação em agendar eventos?