get_default_language(); $multilang['current'] = $sitepress->get_current_language(); $active_languages = $sitepress->get_active_languages(); if ( is_array( $active_languages ) ) { $multilang['languages'] = array_keys( $active_languages ); } break; // case( 'wpml' ) case( 'polylang' ): // These checks of function_exists() and method_exists() added as deactivating polylang was giving fatal error global $polylang; if ( function_exists( 'pll_current_language' ) ) { $current = pll_current_language(); } if ( function_exists( 'pll_default_language' ) ) { $default = pll_default_language(); } if ( // if i do not check for is_object( $polylang ), it gives $polylang as NULL // in short, these polylang methods not available to us while calling from plugin (not exopite framework) is_object( $polylang ) && property_exists( $polylang, 'model' ) && method_exists( $polylang->model, 'get_languages_list' ) ) { $poly_langs = $polylang->model->get_languages_list(); } if ( isset( $poly_langs ) && is_array( $poly_langs ) ) { foreach ( $poly_langs as $p_lang ) { $languages[ $p_lang->slug ] = $p_lang->slug; } } $multilang['default'] = $default; // When all languages selected, then $current is false, so make $current as $default $multilang['current'] = ( isset( $current ) && $current ) ? $current : $multilang['current']; $multilang['languages'] = ( isset( $languages ) && $languages ) ? $languages : $multilang['languages']; break; // case( 'polylang' ) case( 'qtran' ): global $q_config; $multilang['default'] = $q_config['default_language']; $multilang['current'] = $q_config['language']; $multilang['languages'] = qtranxf_getSortedLanguages( false ); break; case( 'wpm' ): $multilang['default'] = wpm_get_default_language(); $multilang['current'] = wpm_get_user_language(); $multilang['languages'] = array_keys( wpm_get_languages() ); break; default: } } $multilang = apply_filters( 'exopite_sof_language_defaults', $multilang ); return ( ! empty( $multilang ) ) ? $multilang : false; } public static function get_current_language_code() { $multilang = self::get_language_defaults(); return $multilang['current']; } public static function get_default_language_code() { $multilang = self::get_language_defaults(); return $multilang['default']; } } }