$new_value ); } update_option( $section, $options_data ); } /** * [ever_compare_woocommerce_installed] * @return [boolean] */ function ever_compare_woocommerce_installed() { return class_exists( 'WooCommerce' ); } /** * Get Post List * return array */ function ever_compare_get_post_list( $post_type = 'page' ){ $options = array(); $options['0'] = __('Select','ever-compare'); $perpage = -1; $all_post = array( 'posts_per_page' => $perpage, 'post_type'=> $post_type ); $post_terms = get_posts( $all_post ); if ( ! empty( $post_terms ) && ! is_wp_error( $post_terms ) ){ foreach ( $post_terms as $term ) { $options[ $term->ID ] = $term->post_title; } return $options; } } /** * [ever_compare_locate_template] * @param [string] $tmp_name Template name * @return [Template path] */ function ever_compare_locate_template( $tmp_name ) { $woo_tmp_base = function_exists('WC') ? WC()->template_path() : ''; $woo_tmp_path = $woo_tmp_base . $tmp_name; //active theme directory/woocommerce/ $theme_tmp_path = '/' . $tmp_name; //active theme root directory $plugin_tmp_path = EVERCOMPARE_DIR . 'includes/templates/' . $tmp_name; $located = locate_template( [ $woo_tmp_path, $theme_tmp_path ] ); if ( ! $located && file_exists( $plugin_tmp_path ) ) { return apply_filters( 'evercompare_locate_template', $plugin_tmp_path, $tmp_name ); } return apply_filters( 'evercompare_locate_template', $located, $tmp_name ); } /** * [ever_compare_get_template] * @param [string] $tmp_name Template name * @param [array] $args template argument array * @param boolean $echo * @return [void] */ function ever_compare_get_template( $tmp_name = '', $args = null, $echo = true ) { $located = ever_compare_locate_template( $tmp_name ); if ( $args && is_array( $args ) ) { extract( $args ); } if ( $echo !== true ) { ob_start(); } // include file located. include( $located ); if ( $echo !== true ) { return ob_get_clean(); } } /** * Get default fields List * return array */ function ever_compare_get_default_fields(){ $fields = array( 'title' => esc_html__( 'Title', 'ever-compare' ), 'ratting' => esc_html__( 'Ratting', 'ever-compare' ), 'price' => esc_html__( 'Price', 'ever-compare' ), 'add_to_cart' => esc_html__( 'Add To Cart', 'ever-compare' ), 'description' => esc_html__( 'Description', 'ever-compare' ), 'availability' => esc_html__( 'Availability', 'ever-compare' ), 'sku' => esc_html__( 'Sku', 'ever-compare' ), 'weight' => esc_html__( 'Weight', 'ever-compare' ), 'dimensions' => esc_html__( 'Dimensions', 'ever-compare' ), ); return apply_filters( 'ever_compare_default_fields', $fields ); } /** * Get Fields List * return array */ function ever_compare_get_available_attributes() { $attribute_list = array(); if( function_exists( 'wc_get_attribute_taxonomies' ) ) { $attribute_list = wc_get_attribute_taxonomies(); } $fields = ever_compare_get_default_fields(); if ( count( $attribute_list ) > 0 ) { foreach ( $attribute_list as $attribute ) { $fields[ 'pa_' . $attribute->attribute_name ] = $attribute->attribute_label; } } return $fields; } /** * [ever_compare_table_active_heading] * @return [array] */ function ever_compare_table_active_heading(){ $active_heading = !empty( ever_compare_get_option( 'show_fields', 'ever_compare_table_settings_tabs' ) ) ? ever_compare_get_option( 'show_fields', 'ever_compare_table_settings_tabs' ) : array(); return $active_heading; } /** * [ever_compare_table_heading] * @return [array] */ function ever_compare_table_heading(){ $new_list = array(); $field_list = count( ever_compare_table_active_heading() ) > 0 ? ever_compare_table_active_heading() : ever_compare_get_default_fields(); foreach ( $field_list as $key => $value ) { $new_list[$key] = \EverCompare\Frontend\Manage_Compare::instance()->field_name( $key ); } return $new_list; } /** * [ever_compare_dimensions] * @param [string] $key * @param [string] $tab * @return [String | Bool] */ function ever_compare_dimensions( $key, $tab, $css_attr ){ $dimensions = !empty( ever_compare_get_option( $key, $tab ) ) ? ever_compare_get_option( $key, $tab ) : array(); if( !empty( $dimensions['top'] ) || !empty( $dimensions['right'] ) || !empty( $dimensions['bottom'] ) || !empty( $dimensions['left'] ) ){ $unit = ( empty( $dimensions['unit'] ) ? 'px' : $dimensions['unit'] ); $top = ( !empty( $dimensions['top'] ) ? $dimensions['top'] : 0 ); $right = ( !empty( $dimensions['right'] ) ? $dimensions['right'] : 0 ); $bottom = ( !empty( $dimensions['bottom'] ) ? $dimensions['bottom'] : 0 ); $left = ( !empty( $dimensions['left'] ) ? $dimensions['left'] : 0 ); $css_attr .= ":{$top}{$unit} {$right}{$unit} {$bottom}{$unit} {$left}{$unit}"; return $css_attr.';'; }else{ return false; } } /** * [ever_compare_generate_css] * @return [String | Bool] */ function ever_compare_generate_css( $key, $tab, $css_attr, $unit = '' ){ $field_value = !empty( ever_compare_get_option( $key, $tab ) ) ? ever_compare_get_option( $key, $tab ) : ''; if( !empty( $field_value ) ){ $css_attr .= ":{$field_value}{$unit}"; return $css_attr.';'; }else{ return false; } } /** * [ever_compare_icon_list] * @return [svg] */ function ever_compare_icon_list( $key = '' ){ $icon_list = [ 'default' => ' ', 'loading' => ' ' ]; return ( $key == '' ) ? $icon_list : $icon_list[$key]; }