Smart Language Select Disabler for Polylang

from 0$

Smart Language Select Disabler for Polylang is a WP Plugin Package from the Open Source WP Plugins range Why this plugin exists?


For more information about a tailored WP Plugin Package like Smart Language Select Disabler for Polylang please contact us directly.

Why this plugin exists?

Changing post’s or term’s language when it has translations messes things up

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.

Users confuse adding translations and changing post’s 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 posts language is risky business anyway

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 risky business anyway

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.

What it does?

  • Checks if currently edited post or term has translations
  • If it has, hides select and shows the name of current language with CSS and vanilla JS
  • Removes option to change default language unless the user does not provide iknowwhatimdoing GET-parameter or allows it via filter

Composer:

$ composer require aucor/polylang-smart-language-select-disabler

With composer.json:

{
  "require": {
    "aucor/polylang-smart-language-select-disabler": "*"
  },
  "extra": {
    "installer-paths": {
      "htdocs/wp-content/plugins/{$name}/": ["type:wordpress-plugin"]
    }
  }
}

Filters

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=

  • No disabling for media (to-do)

Download & install the zip archive

The plugin package installer can be downloaded from the WP2E project tab called “code”.

1 – Select the version to download if this option is available otherwise the “latest” version of the main plugin will be used.

2 – After downloading the zip archive install the plugin package installer in you local environment and activate the script from the plugin list.

3 – Under the section “Plugins” of the admin dashboard you should see a new “Dependencies & Licenses” link. Follow the instructions from this panel to finalize the installation of the missing dependencies.

Tips: Use the WP2E panel to add/suggest new dependencies to the local installation. Press F5 in the list of dependencies if the changes are not displayed right away.

Smart Language Select Disabler for Polylang

typePlugin
versionlatest
descriptionWhy this plugin exists?