Lightweight WPML Language Switcher Shortcode
Adds a [wpide_wpml_switcher] shortcode that prints an accessible list or dropdown of your WPML languages, with native names, codes or flags, anywhere you can place a shortcode.
Snippet Library
Snippets for multilingual sites: language switchers, translated strings and per-language behavior with WPML, Polylang and similar plugins. For sites that serve readers in more than one language.
Adds a [wpide_wpml_switcher] shortcode that prints an accessible list or dropdown of your WPML languages, with native names, codes or flags, anywhere you can place a shortcode.
Adds a [wpide_wpml_link id="123"] shortcode that links to the translation of a page in the language being viewed, using that translation's title, so internal links never send visitors to the wrong language.
Looks for custom .mo files in wp-content/languages/custom/ before the official ones, so your edited translations of a plugin or theme survive updates.
Adds a [wpide_money] shortcode that formats an amount in a currency using the conventions of the current language, like $1,234.50, 1.234,50 € or ¥1,235.
Adds a [wpide_number] shortcode that prints a number with the thousands and decimal separators of the current language, for example 1,234.5 or 1.234,5.
Turns on Polylang translation for custom post types registered by your theme or a plugin, even when they do not appear in Languages > Settings.
Turns on Polylang translation for custom taxonomies, such as product types or event categories, that are not offered in Languages > Settings.
Adds a short notice above posts that WPML displays in the default language because no translation exists yet ("display as translated" mode), so visitors know why the text is not in their language.
Adds pll_language and pll_translations fields to posts and pages in the REST API, which Polylang's free version does not provide, so headless sites and apps can link translations.
Adds a [wpide_pll_switcher] shortcode that prints an accessible Polylang language list or dropdown anywhere, with flags, names or both.
Adds a "Translations" toolbar menu on posts and pages with links to edit each existing language version, plus links to create the missing ones.
Registers chosen Customizer text settings, such as footer copyright or a header phone number, in Polylang's string translations and shows the right translation in each language.
Adds or replaces the x-default hreflang link Polylang prints, pointing it at the language you choose so search engines know which version to show everyone else.
Lets administrators add ?wpide_rtl=1 to any URL to see the site and dashboard laid out right-to-left, so themes can be checked for Arabic or Hebrew without switching the site language.
Adds a language menu to the toolbar so each user can switch their own dashboard language in one click, using the languages installed on the site.
Sends visitors who land on the homepage to the matching language section (such as /fr/ or /de/) based on their browser language, once; their choice is then remembered.
Changes specific interface strings (button labels, notices, form text) differently for each language, without editing translation files.
Makes the site search return results from every Polylang language instead of only the current one, so visitors find content that has not been translated yet.
Redirects visitors who hit a missing page in a secondary Polylang language to that language's homepage, so they are not dropped onto a 404 page.
When a visitor hits a missing page in a non-default WPML language, sends them to the homepage of that language instead of a 404, keeping them in their language.
Adds a "Page language" box to the editor so a single post or page written in another language gets the correct lang attribute (and text direction) for screen readers, spell checkers and search engines.
Adds a [wpide_lang only="fr,de"]...[/wpide_lang] shortcode that shows the enclosed text only when the page is displayed in one of those languages, for small differences between translations.
Converts post dates and times on the page into each visitor's local timezone and language format in the browser, so an event posted for 18:00 London reads 19:00 in Paris.
Adds a [wpide_wpml_field] shortcode that displays a custom field from the current-language version of any post or page, so one shortcode works in every language.