One of the best new features in WordPress 3.0 has to be the new menu system. And now, it’s multilingual too.

We’ve already gone through two developer releases and are thankful for the help we got testing it.

In a nutshell, menus now have languages. When you view the public pages, you’ll see the menu for that language. Got several languages? Add menus for each.

I’m going to recycle Mihai’s how-to video and show it again. If you haven’t yet seen how to translate menus in WordPress, check out the following video:

We know that there is room for improvement, but not having multilingual menus at all is a bit of a pressing issue. We checked and cleaned this version with the basic functionality and will consider adding more multilingual power to menus in the near future.

Next Up – Systematic Translation Process

The next (huge) leap for WPML is a complete translation process. We wrote a bit about that before highlighting side-by-side translation. This is going to take a while to complete, but when it’s done, you’ll get a brand new WPML.

Web developers are not going to feel much difference. The folks who will enjoy this are the actual content managers and translators. They’re going to have a world-class tool for managing translations. With WordPress turning into a real CMS, we believe that now is the time.

We Love Feedback

Let us know how it’s working for you. We’re doing our best to accommodate feature suggestions and fix bugs. Remember that if you need immediate attention, the fastest route is via a support subscription.

30 Responses to “WPML 1.8.0 With Multilingual Menus”

  1. Hi,

    Very thanks for this useful plugin.

    I just installed the last version but the menu translation game me this error:

    Warning: Invalid argument supplied for foreach() in C:\xampplite\htdocs\poggioalsantino\wp-content\plugins\sitepress-multilingual-cms\inc\wp-nav-menus\iclNavMenu.class.php on line 478

    what’s wrong?

  2. YYYeeeaaaahhhhh that’s awesome !

    Nest add a waay to only display categorie / page in a specific languages ^^ usually from the EN menu we do’nt redirect to a NON-EN page ^^ !

    Enjoy !

  3. Hi guys,
    Thanks for your efforts, it’s a long awaited feature, much appreciated.

    Unfortunately, could not manage it to work with my Mystique theme 2.4.2.
    The menu translated to Russian still showed English everywhere, so I had to manually overwrite everything in PHP in the theme’ header.

  4. Hi,

    Thanks for the great work, but with this version something broke within the admin pages.

    Everytime I am trying to save a translation or dismiss the disclaimer message on top, I get a weired redirection :

    “OPTIONS /wp-admin/admin.php?page=sitepress-multilingual-cms/menu/languages.php HTTP/1.1” 302 346 “-”

    Any idea ?

  5. Hi.
    I seem to have some trouble getting this to work, dos it require anything in the template? I have a custom one.

    When I press add translation to get a english translation, it dosent ad the menu I was on as the copy, and I still have the add translation on the old page.

    • I’ve done the following to get it working:

      In functions.php:
      ‘nb’ => __(“Main Menu NO”, ‘lehb3’ ),
      ‘en’ => __(“Main Menu EN”, ‘lehb3’ )
      Note that the menus are the contry codes for the languages I’m using.

      in header.php:
      $languages = icl_get_languages(‘skip_missing=N&orderby=KEY&order=DIR’);
      foreach ($languages as $language) {
      if($language[“active”] == 1){
      wp_nav_menu( array( ‘theme_location’ => $language[“language_code”] ) );
      It’s not much of a fix, but it works for now.

      I can now make 2 menus, and select the norwegian as Main Menu NO, and the english one as Main Menu EN

  6. Hi guys,
    Thanks for your efforts, much appreciated.

    Unfortunately, could not manage it to work with my site. The menu translated to Russian still showed English everywhere. I also still get the following error:

    Warning: Invalid argument supplied for foreach() in /home/content/56/6133856/html/wp-content/plugins/sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php on line 478

  7. Hi i like WPML very much
    But i got the same error described by Igor after upgrading to 1.8.0

    Warning: Invalid argument supplied for foreach() in /home/*****/public_html/wp-content/plugins/sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php on line 478

    This warning comes when i enter the posts zone in admin panel, but not the default languagues.

    Also there is a big problem in frontend
    The link “Older posts” in non default languages is not working

    My theme is Arras theme for WPML

  8. This error appears when you haven’t nav_menu. I use small patch, and it’s work fine fo now

    Just change line 477 in /wp-content/plugins/sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php like this:

    if(($sitepress->get_default_language() != $this->current_lang) && ($val)){

    • your fix works great for me!!!

      if(($sitepress->get_default_language() != $this->current_lang) && ($val)){
      instead of
      if($sitepress->get_default_language() != $this->current_lang){

      I had the warning:
      Warning: Invalid argument supplied for foreach() in /home/content/56/6133856/html/wp-content/plugins/sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php on line 478

      I am using a subdomain setup for my different languages (i.e. http://de.mysite.com for German vs mysite.com) and whenever I was in http://de.mysite.com and performed a search this warning was thrown…

      Now with your fix search works like a charm! Thank You!

  9. Hi,

    i like the plugin a lot but now i have a problem with my side since i upgraded to wpml 1.8.0.

    In the side doesn´t appear any text. just the design of the side is still there.
    only the posts in the non default language are shown. all the pages are empty.
    and wordpress didn´t gave mi any error message.

    does anyone know what it can be?

    thanks a lot for your help

  10. Everytime I want to activate the plug in I get an HTTP 500 – Internal Server Error page. I use version 1.8.3 of this plugin and I have WP 3.0.1 installed. When I remove the plugin from my plugins folder the admin page is accesable again.

    These are the other plugins that are installed:
    Audio player
    Breadcrumb NavXT
    Contact Form 7
    Exclude Pages from Navigation
    External Videos
    Hello Dolly
    Kadom Ads Management
    My Recent YouTube Widget
    Page Links To
    Profile Pic
    Really Simple CAPTCHA
    Sidebar Login
    Simplr User Registration Form – BETA
    Thumbnail For Excerpts
    WPML Multilingual CMS

    I have tried to change the order of indstallation and de-installation but everytime WPML has to be activated the 500 server error occurs.

    I hope that someone has a clue on this, as multilanguage is the base of this particular website.

    • Have you checked the minimum requirements?

      Since your’re using quite a few plugins, you may be running out of memory, if your web host is setting a limit. On that page, there are instructions for raising the memory limit.

  11. Hi Amir,

    I just checked my hosting account and it appears to be PHP 5.2.1 en is limited to 24 M.
    That is beyond the requirements. Is it better to install an older version of WPML then?

    • I suggest that you take this discussion to the technical forum, as it’s not related to this post.

      We fix problems and add features between versions and we cannot give support for older WPML versions.