【问题标题】:Wordpress Gravity Forms: Pass dropdown's value to 2nd page's dropdownWordpress Gravity Forms:将下拉列表的值传递给第二页的下拉列表
【发布时间】:2015-07-23 14:32:34
【问题描述】:

我有一个 Wordpress 重力表格。

在表单的第一页,我有一个动态填充的下拉框。这里没有问题。

现在,在相同表单的第二页上,我还需要根据第一个下拉列表中的选定选项动态填充另一个下拉列表。

这可能吗?如果可以,会不会太复杂?

【问题讨论】:

    标签: wordpress gravity-forms-plugin


    【解决方案1】:

    这是一个示例,我在第 2 页的下拉列表中填充基于从第 1 页的下拉列表中选择的帖子的帖子元:

    add_filter( 'gform_pre_render_918', 'populate_post_meta' );
    add_filter( 'gform_pre_validation_918', 'populate_post_meta' );
    add_filter( 'gform_pre_submission_filter_918', 'populate_post_meta' );
    add_filter( 'gform_admin_pre_render_918', 'populate_post_meta' );
    function populate_post_meta( $form ) {
    
        $field_id      = 3;
        $post_field_id = 1;
    
        foreach ( $form['fields'] as &$field ) {
    
            if ( $field->id != $field_id ) {
                continue;
            }
    
            // you can add additional parameters here to alter the posts that are retrieved
            // more info: [http://codex.wordpress.org/Template_Tags/get_posts](http://codex.wordpress.org/Template_Tags/get_posts)
            $post_id   = rgpost( "input_{$post_field_id}" );
            $post_meta = get_post_custom( $post_id );
    
            $choices = array();
    
            foreach ( $post_meta as $value ) {
                $choices[] = array( 'text' => $value[0], 'value' => $value[0] );
            }
    
            // update 'Select a Post' to whatever you'd like the instructive option to be
            $field->placeholder = 'Select a Value';
            $field->choices = $choices;
    
        }
    
        return $form;
    }
    

    完整代码在这里:http://pastie.org/private/okftjhfkmzgqkwhneixmg

    【讨论】:

    • 我几天来一直在搜索关于 rgpost() 的文档,但找不到任何文档!
    • pastie.org/private/cbixd6wtmaeounwailqq — 这两行是等价的,但有一个例外。如果您尝试检索不存在的 $_POST 属性,它将引发警告。 rgpost() 只是一个辅助函数,它从 $_POST 返回属性,但前提是它已设置。否则,它将返回一个空字符串。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多