【问题标题】:gravity forms Form Entry - display label, not value for checkboxes, select重力形式表单条目 - 显示标签,而不是复选框的值,选择
【发布时间】:2018-07-25 21:21:08
【问题描述】:

我有复选框并选择标签与其值不同的位置。 在数据库中,值可以保存,但是,当查看所有复选框的表单条目(和预提交表单数据)并选择值时,显示的不是标签。所以我最终得到的信息不是那么丰富的 ID 而不是名字。

有没有办法在表单条目屏幕中显示标签而不是值?

【问题讨论】:

    标签: forms dropdown gravityforms


    【解决方案1】:

    我在想做同样的事情时遇到了你的问题。我有一个名为 Account Type 的字段,它将帐户类型 ID 存储为值。在条目列表中,我想显示帐户类型名称,而不是 ID。

    解决办法如下:

    在主题的functions.php 文件中添加以下过滤器:

    add_filter( 'gform_entries_column_filter', 'modify_entry_view', 10, 5 );
    

    您可以在此处找到它的文档:https://docs.gravityforms.com/gform_entries_column_filter/

    然后添加功能代码:

    function modify_entry_view( $value, $form_id, $field_id, $entry, $query_string ){
    
        //- Check the field ID to make sure you only change that one
        if( $field_id == 14 ){
    
            return 'modified value';
    
        };
    
        return $value;
    
    }
    

    在我的例子中,我使用的是我创建的名为 account_type 的自定义字段,该字段预填充了一个选择菜单,其中包含与我们系统中的每个帐户类型相对应的选项。我使用以下调用来检查字段类型,而不是基于字段 id 进行检查,因为 id 会从一个表单更改为另一个表单:

    if( RGFormsModel::get_field( $form_id, $field_id )->type == 'account_type' ){
    

    你可以做同样的事情,但使用标签属性而不是类型,比如:

    if( RGFormsModel::get_field( $form_id, $field_id )->label == 'Field Label' ){
    

    在我的例子中,保存的值是来自我设置的名为 account_type 的自定义分类法中的术语 ID,因此我只需使用:

    return get_term_by( 'id', $value, 'account_type' )->name;
    

    用帐户名称替换帐户 ID。

    仅供参考:条目详细信息的过程相同,请使用此处记录的过滤器:https://docs.gravityforms.com/gform_entry_field_value/

    【讨论】:

    • 我不明白你的代码,我也有同样的问题,但我不明白该怎么做
    • 嘿@GamalElwazeery - 有一段时间没来这里了。如果您仍然需要帮助,请告诉我。
    猜你喜欢
    • 1970-01-01
    • 2021-11-28
    • 2015-02-05
    • 2018-02-26
    • 1970-01-01
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多