
內容簡介
為什麼需要使用這個外掛?
當文章或分類有翻譯時,更改語言會造成混亂
基本上,翻譯會失去連結且沒有警告。例如,當您開始撰寫新文章時,發現它的語言錯誤時,您可能需要更改文章的語言。但涉及翻譯時,更改語言真的沒有用處。
用戶會混淆添加翻譯和更改文章語言
我看到用戶多次更改文章語言時,他們本意是要切換到翻譯。巧妙地禁用選項可以增強用戶界面。
更改文章語言本來就很危險
當文章有內容時更改其語言容易出錯。即使語言已更改,添加到內容中的圖像仍可能處於錯誤的語言。自定義字段,關係等並不會自動更改。應在添加內容之前立即更改語言。
更改網站默認語言本來就很危險
更改網站默認語言容易出錯。即使語言已更改,內容中的連結仍可能處於錯誤的語言。自定義字段,關係等並不會自動更改。只有在用戶知道他們在做什麼時,才應更改語言。
外掛功能
檢查目前正在編輯的文章或分類是否有翻譯
如果有翻譯,則使用 CSS 和 vanilla JS 隱藏選項,並顯示當前語言的名稱
除非用戶提供了 iknowwhatimdoing GET 參數或通過過濾器允許,否則刪除更改默認語言的選項
Composer 安裝:
$ composer require aucor/polylang-smart-language-select-disabler
使用 composer.json 安裝:
{
"require": {
"aucor/polylang-smart-language-select-disabler": "*"
},
"extra": {
"installer-paths": {
"htdocs/wp-content/plugins/{$name}/": ["type:wordpress-plugin"]
}
}
}
過濾器
您可以始終禁用選擇或構建一些花式自定邏輯:
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);
允許更改默認語言:
add_filter('polylang-disable-default-language-select', '__return_true');
= 問題 =
尚未禁用媒體(待辦事項)
外掛標籤
開發者團隊
② 後台搜尋「Smart Language Select Disabler for Polylang」→ 直接安裝(推薦)
原文外掛簡介
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)
