WPML
ステータス
開発者により解決済み
関連するプラグイン/テーマ
MasterStudy LMS Learning Management System
トピックタグ
Compatibility

問題の概要

WPMLでMasterStudyテーマを使用すると、メインメニューに直接追加された言語スイッチャーは、モバイル表示ではプレーンテキストとして表示されます。これは、テーマが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. 言語スイッチャーには特定の幅が設定されています。モバイル(1025px未満)で全幅にするには、スタイルシートまたは「カスタマイズ > 追加のCSS」に以下のCSSを追加します。
    @media screen and (max-width: 1025px) {
      .wpml-ls-legacy-dropdown {
          width: 100%;
      }
    }
            

すべての既知の問題 →