Filter to add additional timeframes to wp_get_schedules(); for expanding use of wp_schedule_event().
<?php
add_filter( 'cron_schedules', 'my_add_intervals' );
function my_add_intervals( $schedules ) {
// Add a weekly interval.
$schedules['weekly'] = array(
'interval' => 604800,
'display' => __( 'Once Weekly' ),
);
// Add a montly interval.
$schedules['monthly'] = array(
'interval' => 2635200,
'display' => __( 'Once a month' ),
);
return $schedules;
}