$args ) { unset( $sizes[$size] ); } } return $sizes; } public static function addSizes() { $sizes = self::getSizes(); foreach ( $sizes as $size => $args ) { $defaults = ! empty( $args['defaults'] ) ? $args['defaults'] : ''; $default_width = isset( $defaults['width'] ) ? $defaults['width'] : '9999'; $default_height = isset( $defaults['height'] ) ? $defaults['height'] : '9999'; $default_crop = isset( $defaults['crop'] ) ? $defaults['crop'] : 'center-center'; $width = codeless_get_mod( $args['width'], $default_width ); $height = codeless_get_mod( $args['height'], $default_height ); $crop = codeless_get_mod( $args['crop'], $default_crop ); $crop = $crop ? $crop : 'center-center'; $crop = ( 'center-center' == $crop ) ? 1 : explode( '-', $crop ); if ( $width || $height ) { add_image_size( $size, $width, $height, $crop ); } } } public static function addPage() { if( function_exists( 'codeless_add_submenu_page' ) ) codeless_add_submenu_page( 'codeless-panel', esc_html__( 'Image Sizes', 'aronia' ), esc_html__( 'Image Sizes', 'aronia' ), 'administrator', 'codeless-panel' . '-image-sizes', array( 'CodelessImageSizes', 'createPage' ) ); } public static function registerOptions() { register_setting( 'codeless_image_sizes', 'codeless_image_sizes', array( 'CodelessImageSizes', 'admin_sanitize' ) ); } public static function admin_sanitize( $options ) { if ( ! is_array( $options ) || empty( $options ) || ( false === $options ) ) { return array(); } $checkboxes = array('optimize_image_resizing' ); $custom_img_sizes = array('cl_custom_img_sizes' ); foreach ( $checkboxes as $checkbox ) { if ( isset( $options[$checkbox] ) ) { set_theme_mod( $checkbox, 1 ); } else { set_theme_mod( $checkbox, 0 ); } } foreach( $options as $key => $value ) { if ( in_array( $key, $checkboxes ) ) { continue; } if ( in_array( $key, $custom_img_sizes ) ) { continue; } if ( ! empty( $value ) ) { set_theme_mod( $key, $value ); } else { remove_theme_mod( $key ); } } if( !empty($options['cl_custom_img_sizes']) ){ $value = get_theme_mod( 'cl_custom_img_sizes' ); if( ! is_array($value) ) $value = array(); $value[] = $options['cl_custom_img_sizes']; set_theme_mod( 'cl_custom_img_sizes', $value ); } $options = ''; return $options; } public static function createPage() { $sizes = self::getSizes(); $crop_positions = codeless_image_crop_positions(); ?>