We'll create fresh WordPress site with Smart Language Select Disabler for Polylang installed. You have 20 minutes to test the plugin after that site we'll be deleted.
Basically the translations are unlinked and there is no warning for this. You may need to change post’s language for example when you start to write a new post and notice that it’s in wrong language. When translations are involved, there’s really no use for changing the language.
I’ve seen that users have multiple times changed post’s language when they meant to navigate to translation. Smartly disabling the select enhances the UI.
Changing the language of post when it has content is prone to errors. Even though the language can be changed, the images added to content may still be in wrong language. Custom fields, relations etc are not automatically changed. Language should be changed right away before adding content.
Changing the site default language is prone to errors. Even though the language can be changed, links in content may still be in wrong language. Custom fields, relations etc are not automatically changed. Language should be changed only if user knows what they are doing.
iknowwhatimdoing
GET-parameter or allows it via filter$ composer require aucor/polylang-smart-language-select-disabler
{
"require": {
"aucor/polylang-smart-language-select-disabler": "*"
},
"extra": {
"installer-paths": {
"htdocs/wp-content/plugins/{$name}/": ["type:wordpress-plugin"]
}
}
}
You can disable select always or build some fancy custom logic:
function my_polylang_disable_language_select($disable_select, $current_screen) {
return true;
}
add_filter('polylang-disable-language-select', 'my_polylang_disable_language_select', 10, 2);
Allow default language change:
add_filter('polylang-disable-default-language-select', '__return_true');
= Issues=