Wordpress - 在后端隐藏特定用户角色的特定字段

Wordpress - Hide specific fields to certain user role on back end

有什么方法可以 disable/hide 来自后端 "page form" 的特定字段?我目前已经测试了两个插件,但其中 none 个符合我的要求,例如这个插件 "User Role Editor by Members – Best User, Role and Capability Management Plugin for WordPress":

抱歉,选项是西班牙语,但功能选项例如:"edit pages"、"edit other people's pages"、"publish pages"、"delete pages"...什么我想要的是从页面表单中向 "editor" 用户角色隐藏某些部分:

这甚至可能吗?如果不能,我有什么选择?,问题是我担心负责编辑的人最终会把页面弄乱...

使用 Adminimize 插件可以轻松解决问题。 此插件更改了管理后端,并赋予您在某些部分分配权限的权力。

在大多数情况下,Tech Sourav 提到的插件 "Adminimize" 可以正常工作,但由于我正在使用的这个页面使用了一些烦人的自定义内容编辑器和其他主题工具,我最终采用的解决方法是:

  1. 使用 "Custom Post Type UI" 插件创建自定义 post 类型。

  1. 在这种情况下,我只会并且总是有 3 个页面有这个 "modifiable" price 字段,所以一旦自定义 post 类型被添加我向此自定义 post 类型添加了 3 个条目(这里我只显示一个)。

  1. 我还使用了 "advanced custom fields pro" 插件,以便在我的条目中创建此 价格 字段。

  1. 创建自定义字段后,在与之前相同的表单中有这个选项,允许我将刚刚创建的特定字段显示为特定 post 类型的条目,所以我制定了规则以显示创建的自定义 post 类型条目中的此字段:

在这个例子中,我只是向您展示一个条目的规则,为了让它出现在其他 2 个条目中,我只需单击 "agregar grupo de reglas" 和 select 一个一个。

  1. 正确配置此自定义字段和规则后,我现在应该在指定的条目表单中看到自定义字段“precio”:

  1. 使用更新的自定义字段值保存条目后,我现在将检查 post ID 并保存以备后用(我们将需要它):

  2. 根据documentation of Advanced Custom Fields plugin我可以用短代码post显示某些输入的保存值:[acf field="{$field_name}" post_id="{$post_id}"],在这种情况下我会改变值:[acf field="precio" post_id="1372"] 并将代码粘贴到我将显示的页面部分:

此页面使用的构建器有一个名为 "code block" 的元素,但您可以在允许您从主题中粘贴代码的等效元素中使用它。

  1. 保存更改后,现在我唯一剩下的就是将编辑页面的能力限制为具有 "editor" 角色的用户,为此我将使用我之前提到的插件我的问题叫做 "User Role Editor by Members – Best User, Role and Capability Management Plugin for WordPress":

如您所见,我不会让编辑器用户弄乱页面 post 类型,因此这样一来,他们将只能编辑我自定义的 post 类型创建的,即使他们在自定义 post 类型条目的内容中写了一些东西,网站也不会受到任何影响。这可能有点 hacky 但它有效...