我是否可以将编辑特定的自定义字段限制为某些角色?

时间:2013-01-17 作者:schpet

我正在写一个插件,它将未被替换的内容(包括javascript)注入到帖子中。我将此内容存储为自定义字段,我想知道是否有任何内置方法可以防止用户编辑特定的自定义字段。

2 个回复
最合适的回答,由SO网友:brasofilo 整理而成

只需将自定义字段与其名称一起使用starting with an underscore, 所以它不会出现在CF元框中,例如,_field_name 而不是<罢工>field_name

它对于所有角色都是隐藏的,但如果您仅通过代码操纵它的值,那么就没有问题了。

如果需要在编辑屏幕上操纵该值,则需要Custom Meta Box 并根据用户角色控制其外观。

[update: 看起来此类字段只能动态输入,如果您尝试在管理界面中输入,则会转储错误]

SO网友:s_ha_dum

没有代码,很难给你任何具体的东西。这在很大程度上取决于你正在做什么以及你需要在哪里做。

除了brasofilo所建议的之外,您还可以始终使用current_user_can. 例如

if (current_user_can(\'administrator\')) {
  echo "You are awesome";
} else {
  echo "Ha! Ha! You can\'t do stuff";
}
Note: 这个Codex page 对于current_user_can 警告不要使用角色名称,但source documentation states “”@param string $capability Capability or role name“。我不知道他们为什么不同,我从来没有对角色名称有过问题,但请注意。

结束

相关推荐

Wp-content/plugins中的权限问题

我在本地机器上安装了一个WP,试图用插件弄脏我的手。我希望从github克隆一个包含此插件代码的项目。然而,我没有插件内部的权限,作为一个没有su权限的普通用户,我无法做到这一点。(当然,我可以成为根并这样做,但我不认为这是应该的)。然后,默认情况下,WP安装中的文件夹将组设置为“tape”,这对我来说很奇怪。本地WP安装上内部文件夹的正确权限应该是什么?