Тож є такий сценарій.
Я додаю дію для очищення журналів із бази даних:
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
повертає кількість уражених рядків або помилкових, якщо щось пішло в іншому напрямку.
Тепер я хочу показати кількість рядків, які були видалені. Я б уявив щось подібне:
$affected_rows = do_action( 'myplugin_clean_logs' );
echo $affected_rows . ' entries have been deleted.';
Але оскільки do_action
не поверне жодне значення, я не маю уявлення, як отримати повернене значення.
Чи слід виконувати метод безпосередньо в ручному виконанні, але використовувати дію на графіку подій?