diff --git a/includes/admin/feedzy-rss-feeds-admin.php b/includes/admin/feedzy-rss-feeds-admin.php index 5228eb1c..d237d05c 100644 --- a/includes/admin/feedzy-rss-feeds-admin.php +++ b/includes/admin/feedzy-rss-feeds-admin.php @@ -3132,4 +3132,21 @@ public function validate_feed() { ); } } + + /** + * Add slugs for internal cron schedules. + * + * @param string[] $cron_slugs The cron slugs to be modified. + * @return string[] + */ + public function internal_cron_schedule_slugs( $cron_slugs ) { + $wp_standard_schedules = array( + 'hourly', + 'twicedaily', + 'daily', + 'weekly', + ); + + return array_merge( $wp_standard_schedules, $cron_slugs ); + } } diff --git a/includes/feedzy-rss-feeds.php b/includes/feedzy-rss-feeds.php index f8ecd0d4..028bd85c 100644 --- a/includes/feedzy-rss-feeds.php +++ b/includes/feedzy-rss-feeds.php @@ -205,6 +205,7 @@ private function define_admin_hooks() { self::$instance->loader->add_action( 'init', self::$instance->admin, 'register_settings' ); self::$instance->loader->add_action( 'wp_ajax_feedzy_validate_feed', self::$instance->admin, 'validate_feed' ); self::$instance->loader->add_action( 'wp_ajax_feedzy_dashboard_subscribe', self::$instance->admin, 'feedzy_dashboard_subscribe' ); + self::$instance->loader->add_filter( 'feedzy_internal_cron_schedule_slugs', self::$instance->admin, 'internal_cron_schedule_slugs', 10, 1 ); // do not load this with the loader as this will need a corresponding remove_filter also. add_filter( 'update_post_metadata', array( self::$instance->admin, 'validate_category_feeds' ), 10, 5 ); diff --git a/includes/layouts/settings.php b/includes/layouts/settings.php index f3c1162f..5eca1c18 100644 --- a/includes/layouts/settings.php +++ b/includes/layouts/settings.php @@ -258,7 +258,7 @@ class="btn btn-outline-primary"
- + " $hourly ), $schedules ); } + $internal_cron_schedules = apply_filters( 'feedzy_internal_cron_schedule_slugs', array() ); ?> -
diff --git a/includes/views/import-metabox-edit.php b/includes/views/import-metabox-edit.php index 8328a63b..d9e78c39 100644 --- a/includes/views/import-metabox-edit.php +++ b/includes/views/import-metabox-edit.php @@ -672,20 +672,28 @@ class="fz-switch-toggle" type="checkbox" value="yes" unset( $schedules['daily'] ); $schedules = array_merge( array( 'daily' => $daily ), $schedules ); } - $duplicate_schedule = array(); + $internal_cron_schedules = apply_filters( 'feedzy_internal_cron_schedule_slugs', array() ); + $duplicate_schedule = array(); foreach ( $schedules as $slug => $schedule ) : if ( empty( $schedule['interval'] ) || in_array( $schedule['interval'], $duplicate_schedule, true ) ) { continue; } $duplicate_schedule[] = $schedule['interval']; + $display_text = $schedule['display']; + + if ( ! in_array( $slug, $internal_cron_schedules, true ) ) { + $display_text .= ' (' . esc_html__( 'externally created)', 'feedzy-rss-feeds' ) . ')'; + } ?> -
+
+ +