WPML
Статус
Решено автором
Связанный плагин/тема
MasterStudy LMS Learning Management System
Теги темы
Compatibility

Обзор проблемы

При использовании темы оформления MasterStudy с WPML переключатели языков, добавленные непосредственно в главное меню, отображаются в виде неформатированного текста на мобильных устройствах. Это происходит из-за того, что тема обходит стандартные функции вывода меню WordPress.

Обходное решение

Перед продолжением обязательно сделайте полную резервную копию Вашего сайта.


  • Откройте файл …/wp-content/themes/masterstudy/partials/headers/parts/mobile_menu.php.

  • Примерно на 20-й строке найдите:
    foreach ( (array) $menu_items as $key => $menu_item ) {
            


  • Добавьте следующее сразу под ним:
    // Detect WPML LS with class 'wpml-ls-item' 
    $classes = is_array( $menu_item->classes ) ? $menu_item->classes : array(); 
    if ( in_array( 'wpml-ls-item', $classes, true ) ) { 
        continue; 
    }
            


  • Затем ближе к концу файла найдите:
    echo $menu_list;
            


  • Замените на:
    $menu_list .= '<div class="stm_lms_categories_dropdown__parent">'; 
    $menu_list .= do_shortcode( '[wpml_language_selector_widget]' ); 
    $menu_list .= '</div>' . "n";
    echo $menu_list;
            

Примечание по оформлению:


  1. Вы можете настроить стиль переключателя языков в разделе «WPML > Языки > Пользовательские переключатели языков»

  2. Наш переключатель языков имеет определённую ширину. Чтобы он занимал всю ширину экрана на мобильных устройствах (менее 1025 px), добавьте этот CSS-код в Вашу таблицу стилей или в раздел «Настроить > Дополнительный CSS».
    @media screen and (max-width: 1025px) {
      .wpml-ls-legacy-dropdown {
          width: 100%;
      }
    }
            

Все известные проблемы →