Ok, good test.
So alo_em_intervat is not defined yet when crons are scheduled.
Please make another test...
In alo-easymail.php move the alo_em_more_reccurences function (line about 290) at the top of file (after line about 60). So the interval is added at beginning of script.
Then, restore the original alo_em_check_db_when_loaded, so we have again:
function alo_em_check_db_when_loaded() {
if ( alo_em_db_tables_need_update() ) alo_em_install_db_tables();
}
add_action('plugins_loaded', 'alo_em_check_db_when_loaded');
Then, add this new function:
function alo_em_check_cron_scheduled() {
if( !wp_next_scheduled( 'alo_em_batch' ) ) {
wp_schedule_event( time() +60, 'alo_em_interval', 'alo_em_batch' );
}
if( !wp_next_scheduled( 'alo_em_schedule' ) ) {
wp_schedule_event(time(), 'twicedaily', 'alo_em_schedule');
}
}
add_action('init', 'alo_em_check_cron_scheduled');
If no way make another attempt... Try adding the 2nd snippet not in a function, but directly, so:
if( !wp_next_scheduled( 'alo_em_batch' ) ) {
wp_schedule_event( time() +60, 'alo_em_interval', 'alo_em_batch' );
}
if( !wp_next_scheduled( 'alo_em_schedule' ) ) {
wp_schedule_event(time(), 'twicedaily', 'alo_em_schedule');
}