Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Filter wp_nav_menu() to add secondary language first followed by
- * current language in drop down. Flags only
- *
- * Note: Works for 2 active languages only
- * Additional note: Take the time to study the output code.
- */
- add_filter('wp_nav_menu_items', 'wpml_flag_nav_menu_items', 10, 2);
- function wpml_flag_nav_menu_items($items, $args) {
- // uncomment this to find your theme's menu location
- //echo "args: <pre>"; print_r($args); echo "</pre>";
- // adjust $args->theme_location == 'primary' in the conditional below to specify the menu location
- if(function_exists('icl_get_languages') && $args->theme_location == 'primary'){
- global $sitepress_settings, $sitepress;
- // get active languages. Available params here:
- // http://wpml.org/documentation/getting-started-guide/language-setup/custom-language-switcher/
- $languages = $sitepress->get_ls_languages('skip_missing=0');
- if(!empty($languages)){
- // collect secondary languages in array
- $secondary_languages = array();
- foreach($languages as $code => $lang){
- if(!$lang['active']){
- $secondary_languages[] = $lang;
- }
- }
- }
- $items .= '<li class="menu-item menu-item-language menu-item-language-current">';
- if(isset($args->before)){
- $items .= $args->before;
- }
- $items .= '<a href="' . $secondary_languages[0]['url'] . '">';
- if(isset($args->link_before)){
- $items .= $args->link_before;
- }
- $items .= '<img class="iclflag" src="' . $secondary_languages[0]['country_flag_url'] . '" width="18" height="12" alt="' . $secondary_languages[0]['translated_name'] . '" />'. $secondary_languages[0]['native_name'];
- if(isset($args->link_after)){
- $items .= $args->link_after;
- }
- $items .= '</a>';
- if(isset($args->after)){
- $items .= $args->after;
- }
- unset($languages[$secondary_languages[0]['language_code']]);
- if(!empty($languages)){
- $items .= '<ul class="sub-menu submenu-languages">';
- foreach($languages as $code => $lang){
- $items .= '
- <li class="menu-item menu-item-language menu-item-language-current">
- <a href="' . $lang['url'] . '">
- <img class="iclflag" src="' . $lang['country_flag_url'] . '" width="18" height="12" alt="' . $lang['translated_name'] . '" />' . $lang['native_name'] . '
- </a>
- </li>';
- }
- $items .= '</ul>';
- }
- $items .= '</li>';
- }
- return $items;
- }
Add Comment
Please, Sign In to add comment