Add a Language Switcher to Your WordPress Site
A language switcher lets visitors pick the language they want to read your WordPress site in. Every multilingual WordPress site needs at least one visible switcher; WPML’s Setup Wizard adds one for you, and this page covers where to place it on your site and how to change its appearance.
Adding a Language Switcher to Your Menu
The most common placement. The switcher appears as a menu item in your site’s primary navigation, usually in the header. Visitors see it as soon as the page loads, which is what you want.

Adding a Language Switcher as a Widget
WPML adds a Language Switcher widget you can drop into any widget area, typically a sidebar, sometimes a header or pre-header zone.

Adding a Language Switcher to the Footer
A non-intrusive option for sites where the header is already busy. The switcher appears at the bottom of every page; it’s still discoverable but doesn’t compete for attention.

Adding Switchers Inline, via Gutenberg Block, or in Theme Code
You can also place a switcher inside post or page content as inline links, or via WPML’s Language Switcher Gutenberg block. Theme developers can call WPML’s API to render a switcher anywhere.

Quick Customizations
From WPML > Settings > Languages, you can change:
- The order languages appear in.
- Whether flags are shown.
- Dropdown layout vs. a flat list.
- Whether each language is labelled in its native name (Deutsch, Français) or in the current site language (German, French).
Customize the Switcher Further
Custom switchers, per-page display rules, switcher styling, and language-switcher caching are in Customizing WPML > Customizing the language switcher.
Language Switcher Guides
- Building a custom language switcher
- Using custom flags
- Adding language switchers using PHP and shortcodes
- How to display or hide the language switcher on specific pages
- How to fix styling and CSS issues for the language switchers
- Preserve URL arguments when switching languages
Next Step
Once the switcher is where you want it, the next step is Translate your site’s content.