Tribe__Events__Aggregator__Cron::get_frequency( array $search = array() )
Frequencies in which a Scheduled import can Happen
Contents
Parameters
- $search
-
(array) (Optional) Search on existing schedules with
array_intersect_assocDefault value: array()
Return
(array|stdClass)
Source
File: src/Tribe/Aggregator/Cron.php
public function get_frequency( $search = array() ) {
$search = wp_parse_args( $search, array() );
/**
* Allow developers to filter to add or remove schedules
* @param array $schedules
*/
$found = $schedules = apply_filters( 'tribe_aggregator_record_frequency', array(
(object) array(
'id' => 'on_demand',
'interval' => false,
'text' => esc_html_x( 'On Demand', 'aggregator schedule frequency', 'the-events-calendar' ),
),
(object) array(
'id' => 'every30mins',
'interval' => MINUTE_IN_SECONDS * 30,
'text' => esc_html_x( 'Every 30 Minutes', 'aggregator schedule frequency', 'the-events-calendar' ),
),
(object) array(
'id' => 'hourly',
'interval' => HOUR_IN_SECONDS,
'text' => esc_html_x( 'Hourly', 'aggregator schedule frequency', 'the-events-calendar' ),
),
(object) array(
'id' => 'daily',
'interval' => DAY_IN_SECONDS,
'text' => esc_html_x( 'Daily', 'aggregator schedule frequency', 'the-events-calendar' ),
),
(object) array(
'id' => 'weekly',
'interval' => WEEK_IN_SECONDS,
'text' => esc_html_x( 'Weekly', 'aggregator schedule frequency', 'the-events-calendar' ),
),
(object) array(
'id' => 'monthly',
'interval' => DAY_IN_SECONDS * 30,
'text' => esc_html_x( 'Monthly', 'aggregator schedule frequency', 'the-events-calendar' ),
),
) );
if ( ! empty( $search ) ) {
$found = array();
foreach ( $schedules as $i => $schedule ) {
// Check if the search matches this schedule
$intersect = array_intersect_assoc( $search, (array) $schedule );
// Modify the found array if something was discovered
if ( ! empty( $intersect ) ) {
$found[] = $schedule;
}
}
}
// If there is only return the only one
return count( $found ) === 1 ? reset( $found ) : $found;
}