hooks(); ( new AICitare_REST() )->hooks(); ( new AICitare_Metabox() )->hooks(); ( new AICitare_LLMS() )->hooks(); ( new AICitare_Schema() )->hooks(); ( new AICitare_Content() )->hooks(); ( new AICitare_Visibility() )->hooks(); ( new AICitare_Reports() )->hooks(); ( new AICitare_GSC() )->hooks(); ( new AICitare_Alerts() )->hooks(); } add_action( 'plugins_loaded', 'aicitare_boot' ); // Translations load automatically (WP 4.6+) from the Domain Path header // (/languages) and translate.wordpress.org — no manual textdomain call needed. // Custom monthly cron interval for scheduled reports. add_filter( 'cron_schedules', function ( $schedules ) { // phpcs:ignore WordPress.WP.CronInterval $schedules['aicitare_monthly'] = array( 'interval' => 30 * DAY_IN_SECONDS, 'display' => __( 'Once Monthly (GEO)', 'aicitare' ) ); return $schedules; } );