2017-07-05 12 views
0

私は言葉のプレスサイトがあり、私は複数の言語を追加する必要があります。私はWPMLプラグインを追加しましたが、私は言語のメニューがどのように表示されるか気に入らない。私はdivで2つの言語(En、It)のheader.phpに手動で追加しました。 これらの2つの「ボタン」が多言語メニューになるようにスクリプトを追加する必要はありますか?私の多言語メニューは、ワードプレスサイト

+0

WPMLは、スイッチャーに自動的に追加するのに非常に適しています。これを行うには、WPMLの設定オプションを使用して、スイッチャーの表示方法と場所を指定する必要があります。 WPMLが適切に機能するようにするには、これらの設定を必ずinorderに入力する必要があります。 –

答えて

0

Twigテンプレートエンジンを使用してカスタム言語切り替えプログラムを作成できます。

このトピックに関する包括的なWPML documentationです。記事内のテンプレートの例を使用して

、あなたのような何かにそれを修正することができます:

<ul> 
    {% for code, language in languages %} 
<li class="{{ language.css_classes }} my-custom-switcher-item"> 
      <a href="{{ language.url }}"> 
      {{ language.code }} 
      </a> 
</li> 
{% endfor %} 
</ul> 
0

WPMLは自動的にスイッチャーに追加することで、かなり良いです。これを行うには、WPMLの設定オプションを使用して、スイッチャーの表示方法と場所を指定する必要があります。 WPMLが適切に機能するようにするには、これらの設定を必ずinorderに入力する必要があります。

ただし、次のコードを使用して手動で追加できます。テーマ名に合わせて手動でメニュー名を変更する必要があることに注意してください。

// Filter wp_nav_menu() to add additional links and other output 
// Show only other language in language switcher 
// Use the new filter: https://wpml.org/wpml-hook/wpml_active_languages/ 
add_filter('wp_nav_menu_items', 'new_nav_menu_items', 10, 2); 
function new_nav_menu_items($items, $args) { 
    // uncomment this to find your theme's menu location 
    //echo "args: 
<pre>"; print_r($args); echo "</pre> 

"; 

    // get languages 
    $languages = apply_filters('wpml_active_languages', NULL, 'skip_missing=0'); 

    // add $args->theme_location == 'primary-menu' in the conditional if we want to specify the menu location. 

    if ($languages && $args->theme_location == 'primary') { 

     if(!empty($languages)){ 

      foreach($languages as $l){ 
       if(!$l['active']){ 
        // flag with native name 
        $items = $items . ' 
<li class="menu-item"><a href="' . $l['url'] . '"><img src="' . $l['country_flag_url'] . '" height="12" alt="' . $l['language_code'] . '" width="18" /> ' . $l['native_name'] . '</a></li> 

'; 
        //only flag 
        //$items = $items . ' 
<li class="menu-item menu-item-language"><a href="' . $l['url'] . '"><img src="' . $l['country_flag_url'] . '" height="12" alt="' . $l['language_code'] . '" width="18" /></a></li> 

'; 
       } 
      } 
     } 
    } 

    return $items; 
}