php - ACF 禁用/隐藏多个用户名的字段选择选项
问题描述
我正在使用高级自定义字段,并且我有一个名为“包”的字段,其中包含多个选择选项。用户可以在登录时创建和更改打包。此字段的某些选项对特定用户不可见。不是用户角色,而是用户名。
这是选项,如果用户是“特定用户名”,粗体不应该是可见的或只读的。
- 备份条目
- 备份启动
- 备份介质 - 备份专业版
我搜索了很多,发现了很多文章,我设法让它使用这部分代码禁用整个字段:
function my_acf_prepare_field_wordpress( $field ) {
$current_user = wp_get_current_user();
if( $current_user->user_login == "Username" ) {
if( $field['value'] ) {
$field['disabled'] = true;
}
}
return $field;
}
add_filter('acf/prepare_field/name=package_or_service', 'my_acf_prepare_field_wordpress');
这部分是根据特定用户名禁用整个字段。有没有办法只禁用该字段的特定选项?
编辑
我进行了这些更改以获取数组的索引值并取消设置它,但到目前为止还没有运气:
function my_acf_prepare_field_wordpress( $field ) {
$current_user = wp_get_current_user();
if( $current_user->user_login == "Username" ) {
$choices = $field['choices'];
unset($field['choices'][webhosting]);
}
return $field;
}
add_filter('acf/prepare_field/name=package_or_service', 'my_acf_prepare_field_wordpress');
Vardump array(6) { ["webhosting"]=> string(10) "webhosting" ["vps hosting"]=> string(11) "vps hosting" ["reseller hosting"]=> string(16) "reseller托管" ["domeinnaam"]=> string(10) "domeinnaam" ["email"]=> string(5) "email" ["dedicated server"]=> string(16) "dedicated server" }
解决方案
推荐阅读
- python - 获取for循环完成后的迭代次数
- algorithm - 在资源限制的情况下优化结果
- r - 使用行中的值匹配另一个数据框中的列和行
- sql-server - 如果任何状态 = 待处理,请不要选择 ID
- android - GridLayout 共享元素转换无法正常工作
- c++ - C++ asm 插入与 int 命令有关
- r - R shinyhelper 因 htmlOutput 而失败
- typescript - 使用 TypeScript 的条件类型
- android - Firebase DB 更新除了正确的记录外还更新了错误的记录
- angular - Angular - 如何在选项卡单击时拒绝访问 tabView 中的 tabPanel