-
-
Save taninbkk/f95281b44b3762435777 to your computer and use it in GitHub Desktop.
// Polylang Shortcode - https://wordpress.org/plugins/polylang/ | |
// Add this code in your functions.php | |
// Put shortcode [polylang] to post/page for display flags | |
function polylang_shortcode() { | |
ob_start(); | |
pll_the_languages(array('show_flags'=>1,'show_names'=>0)); | |
$flags = ob_get_clean(); | |
return $flags; | |
} | |
add_shortcode( 'polylang', 'polylang_shortcode' ); |
Thanks a bunch for this!
Any guess on how to style the dropdown arrow for this? Im trying to replace it with a custom svg, but I couldnt get it with the one i targeted the rest of the menu drop-downs.
.et-menu .menu-item-has-children>a:first-child:after{ content: url(/dropdownarrow.svg); }
I couldnt get the target with inspect and was unable to find it in the plugin files (although im sure it is in there somewhere).
How to set user wise [POLYLANG] in wordpress?
To modify your polylang_shortcode so it:
1. Only shows languages other than the current one, and
2. Displays both flag and language name,
You can update the function like this:
function polylang_shortcode() {
ob_start();
pll_the_languages(array(
'dropdown' => 0,
'show_flags' => 1,
'show_names' => 1,
'hide_current' => 1, // Hides current language
'raw' => 0 // Output as HTML
));
return ob_get_clean();
}
add_shortcode('polylang', 'polylang_shortcode');
✅ Explanation:
• 'hide_current' => 1 – hides the current language.
• 'show_flags' => 1 – shows the language flag.
• 'show_names' => 1 – shows the language name.
• 'raw' => 0 – outputs HTML instead of raw array.
💡Usage:
Add [polylang] in any post, page, or widget, and it will display only the other available languages with both flag and name.
Hiding the current language flag is possible with 'hide_current' =>1 in the above array:
pll_the_languages(array('show_flags'=>1,'show_names'=>0,'hide_current'=>1'));
All possible elements of the language switcher array can be found in plugins/polylang/include/switcher.php right at the beginning of the file (Polylang v3.1.4).