Es gibt also das folgende Szenario.
Ich füge eine Aktion hinzu, um Protokolle aus der Datenbank zu bereinigen:
add_action( 'myplugin_clean_logs', array( 'MyPlugin_Logs', 'clean_logs' ) );
Jetzt möchte ich diese Aktion regelmäßig ausführen:
wp_schedule_event( current_time( 'timestamp' ), 'daily', 'myplugin_clean_logs' );
und führen Sie es manuell aus:
do_action( 'myplugin_clean_logs' );
Die Methode MyPlugin_Logs::clean_logs
gibt die Anzahl der betroffenen Zeilen oder false zurück, wenn etwas in die andere Richtung gegangen ist.
Jetzt möchte ich die Anzahl der gelöschten Zeilen anzeigen. Ich würde mir so etwas vorstellen:
$affected_rows = do_action( 'myplugin_clean_logs' );
echo $affected_rows . ' entries have been deleted.';
Da do_action
jedoch kein Wert zurückgegeben wird, habe ich keine Ahnung, wie der Rückgabewert ermittelt werden soll.
Sollte ich die Methode direkt in einem manuellen Lauf ausführen, aber die Aktion für geplante Ereignisse verwenden?