construct = 'we are in the child class'; } public function date_time_picker($field, $args,$post_id) { $acfvc_option = get_option('acfvc_default'); if ($acfvc_option) { if (array_key_exists('date_time_format',$acfvc_option['general'])) { $date_time_format_selected = $acfvc_option['general']['date_time_format']; } } if ( $date_time_format_selected == "acf_default" ) { $output = $field["value"]; } else { $dateObj = DateTime::createFromFormat($field["return_format"], $field["value"]); $unixtimestamp = $dateObj->getTimestamp(); $date_format = get_option( 'date_format' ); $time_format = get_option( 'time_format' ); $date_time_format = $date_format.' '.$time_format; $output = date_i18n($date_time_format,$unixtimestamp); } return apply_filters('acfvc_date_time_picker',$output,$field,$post_id); } public function time_picker($field, $args,$post_id) { $acfvc_option = get_option('acfvc_default'); if ($acfvc_option) { if (array_key_exists('time_format',$acfvc_option['general'])) { $time_format_selected = $acfvc_option['general']['time_format']; } } if ( $time_format_selected == "acf_default" ) { $output = $field["value"]; } else { $unixtimestamp = strtotime($field["value"]); $time_format = get_option( 'time_format' ); $output = date_i18n($time_format,$unixtimestamp); } return apply_filters('acfvc_time_picker',$output,$field,$post_id); } public function range($field, $args, $post_id) { $prepend = ""; $append = ""; $prepend_append_array = array(); if ( array_key_exists( 'prepend_append', $args ) ) { $prepend_append_array = explode( ',', $args["prepend_append"] ); if ( $field["prepend"] && in_array( 'prepend', $prepend_append_array ) ) { $prepend = ''.$field["prepend"].' '; } if ( $field["append"] && in_array( 'append', $prepend_append_array ) ) { $append = ' '.$field["append"].''; } } $output = $prepend.$field["value"].$append; return apply_filters('acfvc_range',$output,$field,$post_id); } public function button_group($field, $args,$post_id) { $button_values = $field["value"]; $output = ''; if ( $field["return_format"] == "array" ) { $output = $button_values["label"]; } else { if ( !empty($button_values) ) { $output = $button_values; } } return apply_filters('acfvc_button_group',$output,$field,$post_id); } public function clone_field($field,$args,$post_id) { $field_key = $args["field_key"]; $clone_field_key = $args["clone_field_key"]; $acf_version = $args["acf_version"]; $link_text = $args["link_text"]; $gallery_options = $args["gallery_options"]; $clone_field_data = get_field_object($clone_field_key); if ( !empty($field["value"]) ) { foreach ($field["value"] as $key => $value) { if ($key == $clone_field_data["name"]) { $clone_field_data["value"] = $value; $field_data = $clone_field_data; $output .= '
'; if ( 'text' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::text($field_data, $args, $post_id); } } elseif ( 'textarea' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::textarea($field_data, $args, $post_id); } } elseif ( 'wysiwyg' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::wysiwyg($field_data, $args, $post_id); } } elseif ( 'number' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::number($field_data, $args, $post_id); } } elseif ( 'email' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::email($field_data, $args, $post_id); } } elseif ( 'password' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::password($field_data, $args, $post_id); } } elseif ( 'image' === $field_data["type"]) { if ( !empty($field_data["value"]) ) { $output .= parent::image($field_data, $args, $post_id); } } elseif('file' === $field_data["type"]) { if ( !empty($field_data["value"]) ) { $output .= parent::file($field_data, $args, $post_id); } } elseif ( 'select' === $field_data["type"]) { if ( !empty($field_data["value"]) ) { $output .= parent::select($field_data, $args, $post_id); } } elseif ( 'checkbox' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::checkbox($field_data, $args, $post_id); } } elseif ( 'radio' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::radio($field_data, $args, $post_id); } } elseif ( 'user' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::user($field_data, $args, $post_id); } } elseif ( 'page_link' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::page_link($field_data, $args, $post_id); } } elseif ( 'google_map' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::google_map($field_data, $args, $post_id); } } elseif ('date_picker' === $field_data["type"]) { if ( !empty($field_data["value"]) ) { $output .= parent::date_picker($field_data, $args, $post_id); } } elseif ('color_picker' === $field_data["type"]) { if ( !empty($field_data["value"]) ) { $output .= parent::color_picker($field_data, $args, $post_id); } } elseif ('true_false' === $field_data["type"]) { $output .= parent::true_false($field_data, $args, $post_id); } elseif ('taxonomy' === $field_data["type"]) { $output .= parent::taxonomy($field_data, $args, $post_id); } elseif('post_object' === $field_data["type"]) { if ( !empty($field_data["value"]) ) { $output .= parent::post_object($field_data, $args, $post_id); } } elseif('relationship' === $field_data["type"]) { if ( !empty($field_data["value"]) ) { $output .= parent::relationship($field_data, $args, $post_id); } } elseif('url' === $field_data["type"]) { $output .= parent::url($field_data, $args, $post_id); } elseif('link' === $field["type"]) { $output .= parent::link($field, $args, $post_id); } elseif('oembed' === $field_data["type"]) { $output .= parent::oembed($field_data, $args, $post_id); } elseif('gallery' === $field_data["type"]) { $output .= parent::gallery($field_data, $args, $post_id); } elseif('repeater' === $field_data["type"]) { $output .= parent::repeater($field_data, $args, $post_id); } else { // $output .= $field_data["type"]." is not supported"; $output_filter = apply_filters( "acf_vc_clone_add_on_fields",$field_data,$args,$post_id ); if ( is_array( $output_filter ) ) { $output .= $output_filter["type"]." is not supported"; } else { $output .= $output_filter; } } $output .= '
'; } } } // $output = $field["value"]; return apply_filters('acfvc_clone',$output,$field,$args,$post_id); } public static function flexible_content($field,$args,$post_id) { $acf_version = $args["acf_version"]; $link_text = $args["link_text"]; $gallery_options = $args["gallery_options"]; if( have_rows($field["key"]) ): while ( have_rows($field["key"]) ) : the_row(); $layout = get_row_layout(); $row_fields = get_row(); unset($row_fields["acf_fc_layout"]); $output .= '
'; foreach ($row_fields as $key => $value) { $field_data = get_sub_field_object($key); $output .= '
'; if ( 'text' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::text($field_data, $args, $post_id); } } elseif ( 'textarea' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::textarea($field_data, $args, $post_id); } } elseif ( 'wysiwyg' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::wysiwyg($field_data, $args, $post_id); } } elseif ( 'number' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::number($field_data, $args, $post_id); } } elseif ( 'email' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::email($field_data, $args, $post_id); } } elseif ( 'password' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::password($field_data, $args, $post_id); } } elseif ( 'image' === $field_data["type"]) { if ( !empty($field_data["value"]) ) { $output .= parent::image($field_data, $args, $post_id); } } elseif('file' === $field_data["type"]) { if ( !empty($field_data["value"]) ) { $output .= parent::file($field_data, $args, $post_id); } } elseif ( 'select' === $field_data["type"]) { if ( !empty($field_data["value"]) ) { $output .= parent::select($field_data, $args, $post_id); } } elseif ( 'checkbox' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::checkbox($field_data, $args, $post_id); } } elseif ( 'radio' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::radio($field_data, $args, $post_id); } } elseif ( 'user' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::user($field_data, $args, $post_id); } } elseif ( 'page_link' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::page_link($field_data, $args, $post_id); } } elseif ( 'google_map' === $field_data["type"] ) { if ( !empty($field_data["value"]) ) { $output .= parent::google_map($field_data, $args, $post_id); } } elseif ('date_picker' === $field_data["type"]) { if ( !empty($field_data["value"]) ) { $output .= parent::date_picker($field_data, $args, $post_id); } } elseif ('color_picker' === $field_data["type"]) { if ( !empty($field_data["value"]) ) { $output .= parent::color_picker($field_data, $args, $post_id); } } elseif ('true_false' === $field_data["type"]) { $output .= parent::true_false($field_data, $args, $post_id); } elseif ('taxonomy' === $field_data["type"]) { $output .= parent::taxonomy($field_data, $args, $post_id); } elseif('post_object' === $field_data["type"]) { if ( !empty($field_data["value"]) ) { $output .= parent::post_object($field_data, $args, $post_id); } } elseif('relationship' === $field_data["type"]) { if ( !empty($field_data["value"]) ) { $output .= parent::relationship($field_data, $args, $post_id); } } elseif('url' === $field_data["type"]) { $output .= parent::url($field_data, $args, $post_id); } elseif('link' === $field["type"]) { $output .= parent::link($field, $args, $post_id); } elseif('oembed' === $field_data["type"]) { $output .= parent::oembed($field_data, $args, $post_id); } elseif('gallery' === $field_data["type"]) { $output .= parent::gallery($field_data, $args, $post_id); } elseif('repeater' === $field_data["type"]) { $output .= parent::repeater($field_data, $args, $post_id); } else { // $output .= $field_data["type"]." is not supported"; $output_filter = apply_filters( "acf_vc_flexible_content_add_on_fields",$field_data,$args,$post_id ); if ( is_array( $output_filter ) ) { $output .= $output_filter["type"]." is not supported"; } else { $output .= $output_filter; } } $output .= '
'; } $output .= '
'; endwhile; else : // no layouts found endif; return apply_filters('acfvc_flexible_content',$output,$field,$post_id); } } } add_filter( "acf_vc_repeater_add_on_fields", "acf_vc_add_pro_fields_to_fields",1,3 ); add_filter( "acf_vc_flexible_content_add_on_fields", "acf_vc_add_pro_fields_to_fields",1,3 ); add_filter( "acf_vc_clone_add_on_fields", "acf_vc_add_pro_fields_to_fields",1,3 ); function acf_vc_add_pro_fields_to_fields ($field, $args, $post_id ) { if (class_exists('acf_vc_helper_pro')) { $acf_vc_helper_pro = new acf_vc_helper_pro(); if('date_time_picker' === $field["type"]) { $field = $acf_vc_helper_pro->date_time_picker($field, $args, $post_id); } elseif('time_picker' === $field["type"]) { $field = $acf_vc_helper_pro->time_picker($field, $args, $post_id); } elseif('range' === $field["type"]) { $field = $acf_vc_helper_pro->range($field, $args, $post_id); } elseif('button_group' === $field["type"]) { $field = $acf_vc_helper_pro->button_group($field, $args, $post_id); } elseif('flexible_content' === $field["type"]) { $field = '
'; $field .= $acf_vc_helper_pro->flexible_content($field, $args, $post_id); $field .= '
'; } elseif('clone' === $field["type"]) { $field = $acf_vc_helper_pro->clone_field($field,$args,$post_id); } } return $field; } add_filter( "acf_vc_add_on_fields", "acf_vc_add_pro_fields",1,3 ); function acf_vc_add_pro_fields ($field,$args,$post_id ) { if (class_exists('acf_vc_helper_pro')) { $acf_vc_helper_pro = new acf_vc_helper_pro(); if('date_time_picker' === $field["type"]) { $field = $acf_vc_helper_pro->date_time_picker($field, $args, $post_id); } elseif('time_picker' === $field["type"]) { $field = $acf_vc_helper_pro->time_picker($field, $args, $post_id); } elseif('range' === $field["type"]) { $field = $acf_vc_helper_pro->range($field, $args, $post_id); } elseif('button_group' === $field["type"]) { $field = $acf_vc_helper_pro->button_group($field, $args, $post_id); } elseif('flexible_content' === $field["type"]) { $field = $acf_vc_helper_pro->flexible_content($field, $args, $post_id); } elseif('clone' === $field["type"]) { $field = $acf_vc_helper_pro->clone_field($field, $args, $post_id); } } return $field; } /*Add filter hooks to the admin guide*/ add_action("acf_vc_add_to_filter_hook_guide", "acf_vc_date_time_filter_guide",10,1); function acf_vc_date_time_filter_guide($text_array) { if (class_exists('acf_vc_helper_pro')) { ?>

Date Time picker field

add_filter('acfvc_date_time_picker','function_name',10,3);

Parameters

  1. $output

  2. $field

  3. $post_id

Time picker field

add_filter('acfvc_time_picker','function_name',10,3);

Parameters

  1. $output

  2. $field

  3. $post_id

Range field

add_filter('acfvc_time_picker','function_name',10,3);

Parameters

  1. $output

  2. $field

  3. $post_id

Button group field

add_filter('acfvc_button_group','function_name',10,3);

Parameters

  1. $output

  2. $field

  3. $post_id

Clone field

add_filter('acfvc_clone','function_name',10,5);

Parameters

  1. $output

  2. $field

  3. $args

    1. $args["field_key"]

    2. $args["clone_field_key"]

    3. $args["acf_version"]

    4. $args["link_text"]

    5. $args["gallery_options"]

  4. $post_id

Flexible content field

add_filter('acfvc_flexible_content','function_name',10,5);

Parameters

  1. $output

  2. $field

  3. $args

    1. $args["field_key"]

    2. $args["clone_field_key"]

    3. $args["acf_version"]

    4. $args["link_text"]

    5. $args["gallery_options"]

  4. $post_id