ACF:提交表单之前获取字段值

时间:2020-06-30 15:50:15

标签: javascript php field return-value advanced-custom-fields

现在有人在前端表单之前提交表单之前从PHP代码中获取“高级自定义字段”字段值吗?

我想实现的目标 我有一个带有一些日期值(中继器字段)的选项页面,我想将这些日期与用户选择的日期进行匹配,以便我可以在提交表单之前触发操作。仅像条件逻辑那样排序。。。不可以(电影回闪吗?)

我想在飞行中填充一个时间字段,其中某些时间与特定日期不同。

PS。如果这是通过Javascript完成的,那也没关系:)

仅用于共享,这是一个类似的代码,可用于检查选项页面中的日期并将其实际用于条件逻辑(显示/隐藏其他字段)。

add_filter('acf/prepare_field/name=booking_time_session_1', 'yl_check_booking_setting_exceptions_session_1');
function yl_check_booking_setting_exceptions_session_1($field){
    
    // Reset conditions
    // Warning: Conditions set in the UI won't be compatible!
    $conditions = array();

    // Creating Base Condition
    $conditions[] = array(
        array(
            'field'     => 'field_5ed4181bd63dc',
            'operator'  => '!=',
            'value'     => '2',
        )
    );

    if(have_rows('booking_setting_exceptions', 'booking_settings')):
        while(have_rows('booking_setting_exceptions', 'booking_settings')): the_row();
        
            // Check: Booking Settings Exceptions Session
            if(get_sub_field('booking_setting_exceptions_session') == '2')
                continue;
            
            $date = date_i18n('Ymd', strtotime(get_sub_field('booking_setting_exceptions_date', 'booking_settings')));
            
            // Check: Booking Settings Exceptions Date
            if(empty($date))
                continue;
            
            // Adding a new AND condition inside Base condition, at the index = 0
            $conditions[0][] = array(
                'field'     => 'field_5ed4178dd63d7',
                'operator'  => '!=',
                'value'     => $date,
            );
        
        endwhile;
    endif;

    // Setting the full condition
    $field['conditional_logic'] = $conditions;
     
     return $field;
    
}

0 个答案:

没有答案