«
»
WordPressWPMLВсе для functions.phpПлагины

WPML Switcher – Переключатель языков и разные вариации его использования

WPML Switcher - Переключатель языков и разные вариации его использования

Многие пользователи WPML сталкиваются с такой ситуацией когда необходимо добавить переключатель языков в виде только одних флагов (без названия языка) , но шорт код который заявлен разработчиками плагина WPML по каким-то причинам не работает. Для решения данной задачи придет на помощь регистрация шорт кода путем добавления функции WPML в файл function.php темы WordPress. Так что в начале добавляем в function.php данный код:

/************************************************ ***WMPL SHORTCODE[wpml_custom_lang] only flag**** *************************************************/ function wpml_shortcode_lang() { $languages = icl_get_languages('skip_missing=0'); if( 1 < count( $languages ) ) { $s = ""; foreach( (array)$languages as $language ) { $s .= '<span class=" menu-item-language"><a href="' . $language['url'] . '"><img src="' . $language['country_flag_url'] . '" alt="" /> </a></span> '; } } return $s; } add_shortcode( 'wpml_custom_lang', 'wpml_shortcode_lang' );

А за тем вставляем шорт код:

[wpml_custom_lang]

или php код:

<?php echo do_shortcode("[wpml_custom_lang]"); ?>

в то место где необходим переключатель языков WMPL.

Шорткода WPML переключателя языка формата RU | UK (место флага код страны):

Внешний вид:

WPML Switcher - Переключатель языков и разные вариации его использования

Если необходимо вставить переключатель не с флагами а с кодом страны (например что бы отображался переключатель RU UK), тогда в function.php вставьте данный код:

/******************************************************* *** WMPL SHORTCODE[wpml_custom_lang_ISO] only ISO **** ******************** START *************************** ******************************************************** HTML: <span class="SDStudio_custom_icons_mobile_block"> <?php echo do_shortcode("[wpml_custom_lang_ISO]"); ?> [wpml_custom_lang_ISO] </span> CSS: Если нужно скрыть активный язык (и разделитель), делаем через CSS: div#SDStudio-wpml-shortcode { color: #ff000000; } div#SDStudio-wpml-shortcode span.active{ display:none; } ********************************************************/ function wpml_shortcode_lang_ISO() { $languages = icl_get_languages('skip_missing=0'); // if( 1 < count( $languages ) ) { if (function_exists('icl_get_languages')) { $languages = icl_get_languages('skip_missing=0&orderby=code&order=desc'); $langs = ''; echo '<div class="lang_selector">'; if(!empty($languages)){ foreach($languages as $l){ $class = $l['active'] ? ' class="active"' : ''; if ($class) { $langs .= '<span ' . $class . '>' . strtoupper ($l['language_code']). '</span> | '; } else { $langs .= '<a href="'.$l['url'].'">' . strtoupper ($l['language_code']). '</a> | '; } } $langs = substr($langs,0,-3); // echo $langs; } echo '</div>'; } return $langs; } add_shortcode( 'wpml_custom_lang_ISO', 'wpml_shortcode_lang_ISO' ); /******************************************************* *** WMPL SHORTCODE[wpml_custom_lang_ISO] only ISO **** ******************** END ***************************** ********************************************************/

В тело страницы вставляем шорт код:

[wpml_custom_lang_ISO]

Или в php файл темы вставляем:

<?php echo do_shortcode("[wpml_custom_lang_ISO]"); ?>

Пример использования стандартного шорткода WPML для мобильного меню темы Cactus

Добавить в *cactustemplate-partsnavigationnavigation-mobile.php:

<style> /* Скрываем активный язык для переклбючателя wpml !!! Универсальные стили*/ @media screen and (max-width:767px){ /* Скрываем иконки в линии меню из меню моб */ .cactus-mobile-drawer-header i.fa.fa-facebook-official, .cactus-mobile-drawer-header i.fa.fa-share-alt-square, .cactus-mobile-drawer-header li.menu-item.wpml-ls-item { display: none; } html:lang(ru-RU) #SDStudio-wpml-shortcode > div > ul li:nth-child(1) { display: none; } html:lang(uk-UA) #SDStudio-wpml-shortcode > div > ul li:nth-child(2) { display: none; } } </style> <div class="cactus-mobile-main-header"> <div class="cactus-logo"> <?php get_template_part( 'template-parts/header/header', 'logo' ); ?> </div> <!-- Переключатель языка START --> <div id="SDStudio-wpml-shortcode"> <?php echo do_shortcode( '[wpml_language_switcher type="list" flags=1 native=0 translated=0 ]' ); ?> </div> <a style="padding-right: 22px;"><span><i class="fa fa-share-alt-square" aria-hidden="true"></i></span></a> <a target="_blank" href="https://www.facebook.com/ortho.sumy"><span><i class="fa fa-facebook-official" aria-hidden="true"></i></span></a> <!-- Переключатель языка END --> <div class="cactus-menu-toggle"> <div class="cactus-toggle-icon"> <span class="cactus-line"></span> </div> </div> </div> <div class="cactus-mobile-drawer-header" style="display: none;">

Источник записи: https://mediadoma.com

Связанные записи
PageSpeed InsightsWordPressПанели управления

Как повысить производительность WordPress - советы от Plesk

LinuxWEBWordPressПанели управления

Как уменьшить нагрузку на сервер и повысить скорость WordPress с помощью Memcached | Форум Plesk

WordPress

WordPress 5.5 - 20 новых функций и много улучшений. Что нового в WP.

WordPressПлагины

Плагин Pinterest Automatic Pin Wordpress от ValvePress (авто постинг в Pinterest на автомате)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *