aucor/polylang-smart-language-select-disabler

1.1.1 2019-08-06 05:24 UTC

This package is not auto-updated.

Last update: 2024-09-14 20:04:04 UTC


README

贡献者: Teemu Suoranta, Timi Wahalahti

标签: Polylang, Admin, Language Select, WordPress

许可: GPLv2 或更新版本

polylang-smart-disable-language-select

为什么这个插件存在?

当帖子或术语有翻译时更改它们的语言会搞乱事情

基本上,翻译是未链接的,而且没有警告。例如,当你开始撰写新帖子并注意到它使用了错误的语言时,你可能需要更改帖子的语言。当涉及翻译时,更改语言实际上没有任何用处。

用户混淆了添加翻译和更改帖子语言

我看到用户多次更改帖子语言,当他们打算导航到翻译时。智能地禁用选择可以增强UI。

更改帖子语言本身就是一件风险很大的事情

当帖子有内容时更改它的语言容易出错。尽管可以更改语言,但添加到内容中的图像可能仍然是错误的语言。自定义字段、关系等不会自动更改。应该在添加内容之前立即更改语言。

更改网站默认语言本身就是一件风险很大的事情

更改网站默认语言容易出错。尽管可以更改语言,但内容中的链接可能仍然是错误的语言。自定义字段、关系等不会自动更改。只有当用户知道他们在做什么时,才应该更改语言。

它做什么?

  • 检查当前正在编辑的帖子或术语是否有翻译
  • 如果有,使用CSS和vanilla JS隐藏选择并显示当前语言的名称
  • 除非用户不提供 iknowwhatimdoing GET参数或允许它通过过滤器,否则移除更改默认语言选项

安装

下载并激活。就是这样。你也需要Polylang(啊哈)。

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');

问题

  • 不禁止媒体(待办事项)

发布

1.1.1 WordPress.org 发布

1.1.0 禁用默认语言更改选择

如果您不知道自己在做什么,更改网站默认语言可能会引起一些问题。除非用户知道自己在做什么,否则禁用执行此操作的能力。此外,使用WordPress编码标准以使贡献更容易。感谢 @timiwahalahti 对此次发布中的更改。

1.0.2 移除 create_function 使用并包含许可

1.0.1 添加丢失的一些更改

添加了一些丢失的内容,因为这些更改在 1.0.0 中丢失了(脸红)

1.0.0 重新编写禁用功能

HTML属性 "disabled" 造成了许多问题。禁用方式已更改,现在使用CSS隐藏选择,并用包含当前语言的普通段落替换它。

0.1.1 修复添加新术语翻译时的错误

禁用语言选择功能会影响创建新术语的翻译。由于禁用属性,翻译未与原始术语链接。尝试在提交时移除禁用属性,但由于某些原因,在WordPress管理表单中无法实现。目前在该视图中已暂时移除禁用功能。

0.1.0 初始发布