Так что есть следующий сценарий.
Я добавляю действие для очистки журналов из базы данных:
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
не возвращает никакого значения, я понятия не имею, как получить возвращаемое значение.
Должен ли я выполнить метод непосредственно при ручном запуске, но использовать действие с расписанием событий?