Settings', ) ); } /** * Receive the event categories (terms) used by the event plugin. * * @param array $event_plugin Contains info about a certain event plugin. * * @return array An array of Terms. */ private static function get_event_terms( $event_plugin ) { if ( isset( $event_plugin['taxonomy'] ) ) { $event_terms = get_terms( array( 'taxonomy' => $event_plugin['taxonomy'], 'hide_empty' => true, ) ); return $event_terms; } else { return array(); } } /** * Settings page. */ public static function settings_page() { $plugin_setup = Setup::get_instance(); $event_plugins = $plugin_setup->get_active_event_plugins(); $event_terms = array(); foreach ( $event_plugins as $event_plugin_name => $events_plugin_info ) { $event_terms[ $event_plugin_name ] = self::get_event_terms( $events_plugin_info ); } $args = array( 'slug' => self::SETTINGS_SLUG, 'event_terms' => $event_terms, ); \load_template( ACTIVITYPUB_EVENT_EXTENSIONS_PLUGIN_DIR . 'templates/settings.php', true, $args ); } }