php - 隐藏或排除前端表单中的 ACF 字段并存储默认值
问题描述
我有一个附加到自定义帖子类型的字段组。它包含一个“状态”选择输入,用户可以从 wp 管理区域中选择一个选项。
我还有一个使用相同字段组的前端表单,因此较低级别的用户可以在前端创建帖子,但是他们不允许选择“状态”,他们必须接受默认值。
我设置了一个默认值并将其设为必需,然后使用设置 arg 从前端表单中排除该字段。这不起作用,它只是将字段值留空。
或者有没有办法在前端将字段输出为隐藏输入?
解决方案
该字段必须出现在前端表单中。如果不是,则该值不会存储在 post_meta 表中。你必须让它不可见。
你可以这样做(这里我的 acf 字段 slug 是“id_label”):
// set default value
add_filter('acf/load_field/name=id_label', function($field) {
// set a dynamic value if necessary
$field['default_value'] = '666';
return $field;
});
// hide the field in frontend form
add_filter('acf/prepare_field/name=id_label', function($field) {
if(!is_admin()) {
$field['wrapper']['class'] = 'hide';
}
return $field;
});
推荐阅读
- javascript - Google Sheets Apps 脚本 - 从具有多行的单元格中选择值
- azure-devops - Yaml 触发器不起作用,但在管道中覆盖确实
- python - /en/admin/cms/page/add-plugin/ 处的 DjangoCMS 插件 OperationalError - 没有这样的表:cmsplugin_soundcloud_soundcloud
- node.js - Azure devops 管道在安装节点 js 时抛出错误
- sqlite - 在 Flutter 中显示来自 sqlite 数据库的数据
- angular-material - mat-dialog-close 只承认真值或假值?
- html - 如何在 Jinja 模板中设置一个值并将其传递给 javascript 变量
- javascript - 如何在玩笑中隐藏 React-Error-Boundary 控制台错误
- vba - 如何知道是否收到或发送了电子邮件?
- r - R:使用 lapply -> args 的 MaxEnt 物种分布建模暗示不同的行数