【问题标题】:Hide or exclude an ACF field in a front end form and store default value隐藏或排除前端表单中的 ACF 字段并存储默认值
【发布时间】:2019-11-07 12:56:06
【问题描述】:

我有一个附加到自定义帖子类型的字段组。它包含一个“状态”选择输入,用户可以从 wp 管理区域中选择一个选项。

我还有一个使用相同字段组的前端表单,因此较低级别的用户可以在前端创建帖子,但是他们不允许选择“状态”,他们必须接受默认值。

我设置了一个默认值并将其设为必需,然后使用设置 arg 从前端表单中排除该字段。这不起作用,它只是将字段值留空。

或者有没有办法在前端将字段输出为隐藏输入?

【问题讨论】:

标签: php html wordpress advanced-custom-fields


【解决方案1】:

该字段必须出现在前端表单中。如果不是,则该值不会存储在 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;
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 2020-04-15
    • 2021-08-19
    相关资源
    最近更新 更多