因此,存在以下情况。
我添加了一个从数据库中清除日志的操作:
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
不会返回任何值,因此我不知道如何获取返回值。
我是否应该在手动运行时直接执行该方法,但对计划事件使用操作?
1
您不想在计划的事件中回显任何内容,因此,是的,我将在手动运行时直接执行该方法(假设管理员会触发此操作,并且您想向他们显示输出)。
—
蒂姆·马隆