create( self::POST ); $tax_records = $records_factory->create( self::TAX ); $global_settings = $settings_factory->create(); $post_settings = $settings_factory->create( self::POST ); $tax_settings = $settings_factory->create( self::TAX ); $term_link_filter = new WPML_ST_Term_Link_Filter( $tax_records, $sitepress, new WPML_WP_Cache_Factory(), $tax_settings ); $hooks['legacy_class'] = new WPML_Slug_Translation( $sitepress, $records_factory, WPML_Get_LS_Languages_Status::get_instance(), $term_link_filter, $global_settings ); $hooks['rewrite_rules'] = ( new \WPML\ST\SlugTranslation\Hooks\HooksFactory() )->create(); if ( is_admin() ) { $hooks['ui_save_post'] = new WPML_ST_Slug_Translation_UI_Save( $post_settings, $post_records, $sitepress, new WPML_WP_Post_Type(), WPML_ST_Slug_Translation_UI_Save::ACTION_HOOK_FOR_POST ); $hooks['ui_save_tax'] = new WPML_ST_Slug_Translation_UI_Save( $tax_settings, $tax_records, $sitepress, new WPML_WP_Taxonomy(), WPML_ST_Slug_Translation_UI_Save::ACTION_HOOK_FOR_TAX ); if ( $global_settings->is_enabled() ) { $hooks['sync_strings'] = new WPML_ST_Slug_Translation_Strings_Sync( $records_factory, $settings_factory ); } } $hooks['public-api'] = new WPML_ST_Slug_Translation_API( $records_factory, $settings_factory, $sitepress, new WPML_WP_API() ); return $hooks; } }