Back to Community

Troubleshooting Polylang Language Switcher Dropdown Issues

27 threads Sep 9, 2025 PluginPolylang

Content

Many WordPress users rely on the Polylang plugin to create multilingual websites. A common point of confusion and frustration involves configuring the language switcher, particularly when using the dropdown display mode. Users frequently report that certain settings, like "Hide current language," don't behave as expected within a dropdown, or that the switcher doesn't appear at all in certain theme locations.

Why Do These Dropdown Issues Happen?

Based on common community reports, these problems typically stem from a few key areas:

  1. Theme and Plugin Conflicts: Your theme's structure or another plugin's code can interfere with how Polylang generates and styles its dropdown menu. This is a very frequent cause.
  2. CSS Specificity: The CSS rules that hide languages or style the dropdown might not be specific enough, or they may only target the desktop version of your site, failing on mobile views.
  3. Caching: Caching plugins (like LiteSpeed Cache or WP Rocket) can serve a cached version of the page that doesn't reflect the current language or switcher state.
  4. Builder Compatibility: Page builders (e.g., Breakdance, Divi) and the Full Site Editor (FSE) in themes like Twenty Twenty-Three handle menus differently, which can sometimes break the Polylang integration.

Common Solutions to Try

1. Basic Configuration Check

First, ensure your switcher is configured correctly. When adding the language switcher to a menu, you are presented with several options:

  • Displays as dropdown: Check this box to enable the dropdown view.
  • Shows flags: Toggle the display of country flags.
  • Shows language names: Toggle the display of language names.
  • Hides the current language: This setting is intended to prevent the currently active language from appearing in the list. Note that some users report this specific option does not function within a dropdown view, which may be a known limitation of the free version.

Double-check these settings in your WordPress menu editor.

2. Conflict Testing

This is the most critical step for diagnosing the issue.

  1. Deactivate all your plugins except Polylang.
  2. Switch to a default WordPress theme like Twenty Twenty-One.
  3. Check if the language dropdown now works correctly.
  4. If it does, reactivate your plugins and theme one-by-one, checking the dropdown after each activation, to identify the source of the conflict.

3. Caching Plugin Configuration

If you use a caching plugin, you must configure it to be compatible with multilingual sites. This usually involves excluding cookies or specific pages from the cache. For Polylang, you often need to prevent the caching of the pll_language cookie. Consult your specific caching plugin's documentation for how to set these exceptions.

4. Custom CSS for Specific Hiding

If you need to hide specific languages from the switcher, you might need custom CSS. Be aware that this requires targeting the correct HTML elements for both desktop and mobile views. The example below hides the third and fourth options, but you must inspect your site's code to find the correct selectors for your theme.

#lang_choice_1 option:nth-child(3),
#lang_choice_1 option:nth-child(4) {
    display: none;
}

5. Using a Custom Dropdown Function

For more control, you can use the pll_the_languages() function directly in your theme's template files (e.g., header.php). Using the 'dropdown' argument is a common method to generate a select list.

<?php pll_the_languages( array( 'dropdown' => 1 ) ); ?>

You can then style this dropdown with custom CSS by targeting the generated class or ID.

When to Look Elsewhere

It's important to note that some advanced features related to the language switcher and its integration with page builders or online store functionality (WooCommerce) are only available in the commercial Polylang Pro extension. If your troubleshooting hits a wall and the feature you need is confirmed to be part of the Pro offering, that may explain the limitation you're encountering with the free plugin.

By methodically working through these steps—checking settings, testing for conflicts, managing cache, and using custom code—you can usually resolve most issues with the Polylang language switcher dropdown.

Related Support Threads Support