# ever-compare/1.0.2/includes/helper-functions.php

Ever Compare – Products Compare Plugin for WooCommerce, version 1.0.2. 152 lines.

- Page: https://pluginprobe.com/plugins/ever-compare/1.0.2/code/includes/helper-functions.php
- Raw: https://pluginprobe.com/plugins/ever-compare/1.0.2/raw/includes/helper-functions.php
- Modified: 2021-05-02T09:10:32+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/ever-compare/1.0.2/code/includes/helper-functions.php#L10-L20`.

```php
<?php
/*
 * Plugisn Options value
 * return on/off
 */
function ever_compare_get_option( $option, $section, $default = '' ){
    $options = get_option( $section );
    if ( isset( $options[$option] ) ) {
        return $options[$option];
    }
    return $default;
}

/**
 * [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 = 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 Post 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();
    }

    $checked = !empty( ever_compare_get_option( 'show_fields', 'ever_compare_table_settings_tabs' ) ) ? ever_compare_get_option( 'show_fields', 'ever_compare_table_settings_tabs' ) : array();

    $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' ),
    );

    $fields = array_merge( $checked, $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();
    $default = 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' ),
    );
    $field_list = count( ever_compare_table_active_heading() ) > 0 ? ever_compare_table_active_heading() : $default;
    foreach ( $field_list as $key => $value ) {
        $new_list[$key] = \EverCompare\Frontend\Manage_Compare::instance()->field_name( $value );
    }
    return $new_list;
}
```
