__('Layouts Thumbnails', 'acfe'), 'name' => 'acfe_flexible_layouts_thumbnails', 'key' => 'acfe_flexible_layouts_thumbnails', 'instructions' => __('Set a thumbnail for each layouts', 'acfe') . '. ' . '' . __('See documentation', 'acfe') . '', 'type' => 'true_false', 'message' => '', 'default_value' => false, 'ui' => true, 'ui_on_text' => '', 'ui_off_text' => '', 'conditional_logic' => array( array( array( 'field' => 'acfe_flexible_advanced', 'operator' => '==', 'value' => '1', ), ) ) )); } /** * render_layout_settings * * @param $flexible * @param $layout * @param $prefix */ function render_layout_settings($field, $layout, $prefix){ if(!$field['acfe_flexible_layouts_thumbnails']){ return; } // Title echo ''; acf_render_field_wrap(array( 'label' => __('Thumbnail', 'acfe'), 'type' => 'hidden', 'name' => 'acfe_flexible_thumbnail_label', 'wrapper' => array( 'class' => 'acfe-flexible-field-setting', ) ), 'ul'); echo '
  • '; // Fields acf_render_field_wrap(array( 'label' => false, 'name' => 'acfe_flexible_thumbnail', 'type' => 'image', 'class' => '', 'prefix' => $prefix, 'value' => $layout['acfe_flexible_thumbnail'], 'return_format' => 'array', 'preview_size' => 'thumbnail', 'library' => 'all', ), 'ul'); } /** * validate_thumbnail * * @param $field * * @return mixed */ function validate_thumbnail($field){ if(acfe_is_admin_screen()){ return $field; } // Vars $name = $field['name']; $key = $field['key']; foreach($field['layouts'] as &$layout){ // Vars $l_name = $layout['name']; $thumbnail = $layout['acfe_flexible_thumbnail']; // Flexible Thumbnails $thumbnail = apply_filters("acfe/flexible/thumbnail", $thumbnail, $field, $layout); $thumbnail = apply_filters("acfe/flexible/thumbnail/name={$name}", $thumbnail, $field, $layout); $thumbnail = apply_filters("acfe/flexible/thumbnail/key={$key}", $thumbnail, $field, $layout); $thumbnail = apply_filters("acfe/flexible/thumbnail/layout={$l_name}", $thumbnail, $field, $layout); $thumbnail = apply_filters("acfe/flexible/thumbnail/name={$name}&layout={$l_name}", $thumbnail, $field, $layout); $thumbnail = apply_filters("acfe/flexible/thumbnail/key={$key}&layout={$l_name}", $thumbnail, $field, $layout); // Deprecated $thumbnail = apply_filters_deprecated("acfe/flexible/layout/thumbnail/layout={$l_name}", array($thumbnail, $field, $layout), '0.8.6.7', "acfe/flexible/thumbnail/layout={$l_name}"); $thumbnail = apply_filters_deprecated("acfe/flexible/layout/thumbnail/name={$name}&layout={$l_name}", array($thumbnail, $field, $layout), '0.8.6.7', "acfe/flexible/thumbnail/name={$name}&layout={$l_name}"); $thumbnail = apply_filters_deprecated("acfe/flexible/layout/thumbnail/key={$key}&layout={$l_name}", array($thumbnail, $field, $layout), '0.8.6.7', "acfe/flexible/thumbnail/key={$key}&layout={$l_name}"); $layout['acfe_flexible_thumbnail'] = $thumbnail; } return $field; } /** * wrapper_attributes * * @param $wrapper * @param $field * * @return mixed */ function wrapper_attributes($wrapper, $field){ // check setting if(!$field['acfe_flexible_layouts_thumbnails']){ return $wrapper; } $wrapper['data-acfe-flexible-thumbnails'] = 1; return $wrapper; } /** * select_atts * * @param $atts * @param $layout * @param $field * * @return mixed */ function select_atts($atts, $layout, $field){ // check setting if(!$field['acfe_flexible_layouts_thumbnails']){ return $atts; } // set thumbnail //$atts['data-thumbnail'] = 1; // return return $atts; } /** * select_label * * @param $label * @param $layout * @param $field * * @return mixed|string */ function select_label($label, $layout, $field){ // check setting if(!$field['acfe_flexible_layouts_thumbnails']){ return $label; } // thumbnail $thumbnail = $this->get_thumbnail_url($layout); // prepend $prepend = array( 'class' => 'acfe-fc-layout-thumb', ); // thumbnail not found if(!$thumbnail){ $prepend['class'] .= ' -not-found'; } $prepend = '
    '; if($thumbnail){ $prepend .= ''; } $prepend .= '
    '; return $prepend . $label; } /** * get_thumbnail_url * * @param $layout * * @return false|mixed|string */ function get_thumbnail_url($layout){ // check thumbnail $thumbnail_url = $layout['acfe_flexible_thumbnail']; if(empty($thumbnail_url)){ return false; } // attachment id if(is_numeric($thumbnail_url)){ // get attachment url $thumbnail_url = wp_get_attachment_url($thumbnail_url); if(empty($thumbnail_url)){ return false; } } // return url return $thumbnail_url; } } acf_new_instance('acfe_field_flexible_content_thumbnail'); endif;