Example #1
0
 /**
  *
  * Include the style and scripts file and create the array of style and script to enqueue/register
  * Add the action to register/enqueue script and style on wp_enqueue_scripts
  *
  * @return YIT_Asset
  * @since  2.0.0
  * @access public
  * @author Andrea Grillo <*****@*****.**>
  */
 public function __construct()
 {
     $is_old_ie = yit_is_old_ie();
     $this->_assets = (include YIT_THEME_PATH . '/' . $this->_assets_file_name);
     if (!$is_old_ie) {
         add_action('wp_enqueue_scripts', array($this, 'register'), 99);
         add_action('wp_footer', array($this, 'register'), 1);
     } else {
         global $wpdb;
         $index = $wpdb->blogid != 0 ? '-' . $wpdb->blogid : '';
         $this->_cache_old_ie_file_name = str_replace('.css', $index . '.css', $this->_cache_old_ie_file_name);
         add_action('wp_enqueue_scripts', array($this, 'register_ie'), 99);
         add_action('wp_footer', array($this, 'register_ie'), 1);
     }
 }
 /**
  * Register/Enqueue the blog stylesheet
  *
  * @return void
  * @since 2.0.0
  * @author Andrea Grillo    <*****@*****.**>
  */
 function yit_add_blog_stylesheet()
 {
     $blog = array('src' => YIT_THEME_ASSETS_URL . '/css/blog.css', 'enqueue' => true, 'registered' => false);
     $page_slider = array('src' => YIT_THEME_ASSETS_URL . '/css/page-slider.css', 'enqueue' => true, 'registered' => false);
     if (is_page_template('blog.php') || is_search() || is_singular('post') || is_home() || is_archive() || is_category() || is_tag() || yit_is_old_ie()) {
         YIT_Asset()->set('style', 'blog-stylesheet', $blog, 'before', 'comment-stylesheet');
         if (is_singular('post') || yit_is_old_ie()) {
             YIT_Asset()->set('style', 'page-slider', $page_slider, 'after', 'blog-stylesheet');
         }
     }
 }
Example #3
0
/*
 * This file belongs to the YIT Framework.
 *
 * This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://www.gnu.org/licenses/gpl-3.0.txt
 */
/* === AJAX ACTIONS === */
add_action('wp_ajax_portfolio_next_post', 'yit_portfolio_next_page');
add_action('wp_ajax_nopriv_portfolio_next_post', 'yit_portfolio_next_page');
if (isset($portfolio)) {
    $layout = isset($portfolio) ? $portfolio->get('config-single_layout') : 'big_image';
    /* === ENQUEUE SCRIPTS === */
    if (!defined('DOING_AJAX') || !DOING_AJAX || $layout == 'small_image') {
        if (!yit_is_old_ie()) {
            $this->enqueue_style('portfolio-single', 'css/style.css');
        } else {
            wp_enqueue_style('portfolio-single', YIT_THEME_TEMPLATES_URL . '/portfolios/single/css/style.css');
        }
    }
    /* === HOOKS === */
    if ($layout == 'big_image') {
        add_action('wp_head', 'yit_add_portfolio_stylesheet', 0);
        add_action('yit_primary', 'yit_portfolio_title', 7);
        add_action('yit_after_primary_starts', 'yit_portfolio_current_page_start', 5);
        add_action('yit_after_primary_starts', 'yit_portfolio_image', 10);
        add_action('yit_before_primary_ends', 'yit_portfolio_current_page_end', 10);
        add_action('yit_before_primary_ends', 'yit_portfolio_next_page', 15);
        add_filter('body_class', 'yit_portfolio_add_body_class');
        add_filter('yit_footer_type', 'yit_hide_footer');
    /**
     * widget function.
     *
     * @see WP_Widget
     * @access public
     * @param array $args
     * @param array $instance
     * @return void
     */
    function widget($args, $instance)
    {
        global $woocommerce;
        ob_start();
        extract($args);
        //$before_widget = $after_title = '';
        //$before_title = $after_widget = '';
        $title = apply_filters('widget_title', empty($instance['title']) ? __('Featured Products', 'yit') : $instance['title'], $instance, $this->id_base);
        if (!($number = (int) $instance['number'])) {
            $number = 10;
        } else {
            if ($number < 1) {
                $number = 1;
            } else {
                if ($number > 15) {
                    $number = 15;
                }
            }
        }
        $query_args = array('posts_per_page' => $number, 'orderby' => 'rand', 'no_found_rows' => 1, 'post_status' => 'publish', 'post_type' => 'product');
        $query_args['meta_query'] = array();
        $query_args['meta_query'][] = array('key' => '_featured', 'value' => 'yes');
        $query_args['meta_query'][] = $woocommerce->query->stock_status_meta_query();
        $query_args['meta_query'][] = $woocommerce->query->visibility_meta_query();
        $r = new WP_Query($query_args);
        if ($r->have_posts()) {
            ?>

            <?php 
            echo $before_widget;
            ?>
            <div class="clearfix widget featured-products">
                <?php 
            if ($title) {
                echo '<h3>' . $title . '</h3>';
            }
            ?>
                <ul class="clearfix products-slider featured-products-slider slides">
                    <?php 
            while ($r->have_posts()) {
                $r->the_post();
                global $product;
                ?>
                        <li class="clearfix">
                            <?php 
                if (has_post_thumbnail()) {
                    ?>
                                <?php 
                    if ($instance['link_thumbnail']) {
                        ?>
                                    <a href="<?php 
                        echo esc_url(get_permalink($r->post->ID));
                        ?>
" class="product_img" title="<?php 
                        echo esc_attr($r->post->post_title ? $r->post->post_title : $r->post->ID);
                        ?>
">
                                        <?php 
                        the_post_thumbnail('shop_catalog');
                        ?>
                                    </a>
                                <?php 
                    } else {
                        ?>
                                    <?php 
                        the_post_thumbnail('shop_catalog');
                        ?>
                                <?php 
                    }
                    ?>
                            <?php 
                }
                ?>
                            <div class="info-featured-product">
                                <a href="<?php 
                echo esc_url(get_permalink($r->post->ID));
                ?>
" class="product_name" title="<?php 
                echo esc_attr($r->post->post_title ? $r->post->post_title : $r->post->ID);
                ?>
">
                                    <?php 
                if ($r->post->post_title) {
                    echo get_the_title($r->post->ID);
                } else {
                    echo $r->post->ID;
                }
                ?>
                                </a>

                                <div class="price"><?php 
                echo $product->get_price_html();
                ?>
</div>
                            </div>
                        </li>
                    <?php 
            }
            ?>
                </ul>
            </div>
            <?php 
            echo $after_widget;
            ?>

        <?php 
        }
        $content = ob_get_clean();
        $slider_id = $this->id;
        $slider_fx = isset($instance['slider_fx']) && !yit_is_old_ie() ? $instance['slider_fx'] : 'fade';
        $slider_speed_fx = isset($instance['slider_speed_fx']) ? $instance['slider_speed_fx'] : 300;
        $slider_timeout_fx = isset($instance['slider_timeout_fx']) ? $instance['slider_timeout_fx'] : 8000;
        $script = '<script type="text/javascript">
		                jQuery(document).ready(function($){
		                	"use strict";

		                    $("#' . $slider_id . ' .widget.featured-products").flexslider({
		                        animation: "' . $slider_fx . '",
		                        slideshowSpeed: ' . $slider_timeout_fx . ',
		                        animationSpeed: ' . $slider_speed_fx . ',
		                        selectors: ".slides > li",
		                        directionNav: true,
		                        slideshow: true,

                                prevText: "",
                                nextText: "",

		                        pauseOnAction: false,
						        controlNav: false,
						        touch: true,
						     });
					    });
		            </script>';
        if (isset($args['widget_id'])) {
            $cache[$args['widget_id']] = $content;
        }
        echo $content, $script;
        wp_reset_postdata();
    }
 /**
  * Register/Enqueue the blog stylesheet
  *
  * @return void
  * @since 2.0.0
  * @author Andrea Grillo    <*****@*****.**>
  */
 function yit_add_blog_stylesheet()
 {
     $blog = array('src' => YIT_THEME_ASSETS_URL . '/css/blog.css', 'enqueue' => true, 'registered' => false);
     $masterslider_style = array('src' => YIT_THEME_ASSETS_URL . '/lib/masterslider/style/masterslider.css', 'enqueue' => true, 'registered' => false);
     $masterslider_script = array('src' => YIT_THEME_ASSETS_URL . '/lib/masterslider/masterslider.min.js', 'enqueue' => true, 'deps' => array('jquery'));
     if (is_page_template('blog.php') || is_search() || is_singular('post') || is_home() || is_archive() || is_category() || is_tag() || yit_is_old_ie()) {
         YIT_Asset()->set('style', 'blog-stylesheet', $blog, 'before', 'comment-stylesheet');
         /* === Add Master Slider Style and Script on Single Post with gallery post format === */
         if (is_singular('post') && get_post_format() == 'gallery' || yit_is_old_ie()) {
             YIT_Asset()->set('style', 'masterslider-style', $masterslider_style, 'after', 'blog-stylesheet');
             YIT_Asset()->set('script', 'masterslider-script', $masterslider_script);
         }
     }
 }
Example #6
0
function yit_woocommerce_hooks() {

    if ( ! defined( 'YIT_DEBUG' ) || ! YIT_DEBUG ) {
        $message = get_option( 'woocommerce_admin_notices', array() );
        $message = array_diff( $message, array( 'template_files' ) );
        update_option( 'woocommerce_admin_notices', $message );
    }

    add_action( 'yit_activated', 'yit_woocommerce_default_image_dimensions' );

    add_filter( 'woocommerce_enqueue_styles', 'yit_enqueue_wc_styles' );
    add_filter( 'woocommerce_template_path', 'yit_set_wc_template_path' );

    if( yit_is_old_ie() ) {
        add_action( 'wp_head', 'yit_add_wc_styles_to_assets', 0 );
    }
    add_action( 'wp_head', 'yit_size_images_style' );
    add_action( 'woocommerce_before_main_content', 'yit_shop_page_meta' );

    // Ajax search loading
    add_filter( 'yith_wcas_ajax_search_icon', 'yit_loading_search_icon' , 15 );

    if ( yit_get_option( 'shop-price-format' ) != 'yes' ) {
        // Use WC 2.0 variable price format, now include sale price strikeout
        add_filter( 'woocommerce_variable_sale_price_html', 'wc_wc20_variation_price_format', 10, 2 );
        add_filter( 'woocommerce_variable_price_html', 'wc_wc20_variation_price_format', 10, 2 );
    }

    // Add to cart button text
    add_filter( 'add_to_cart_text', 'yit_add_to_cart_text' );
    // View details button text
    add_filter( 'yit_view_details_product_text', 'yit_view_details_text' );

    // Custom Pagination
    add_filter( 'woocommerce_pagination_args', 'yit_pagination_shop_args' );

    // Add Custom metabox in My Account and checkout page
    add_action( 'admin_init', 'yit_register_shop_metabox' );


    /*============= SHOP PAGE ===============*/

    remove_action( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 );
    remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30 );
    remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_rating', 5 );
    remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );


    add_action( 'woocommerce_before_shop_loop_item_title', 'yit_out_stock_icon', 15 );

    add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_add_to_cart', 20 );

    add_filter( 'loop_shop_per_page', 'yit_products_per_page' );
    add_action( 'shop-page-meta', 'yit_wc_catalog_ordering', 15 );

    if ( yit_get_option( 'shop-view-type' ) != 'masonry' && yit_get_option( 'shop-grid-list-option' ) != 'no' ) {
        add_action( 'shop-page-meta', 'yit_wc_list_or_grid', 5 );
    }
    if( yit_get_option( 'shop-products-per-page-option' ) != 'no' ) {
        add_action( 'shop-page-meta', 'yit_wc_num_of_products', 10 );
    }

    if( yit_get_option( 'shop-product-rating' ) == 'yes' ) {
        add_action( 'woocommerce_after_shop_loop_item_title', 'yit_shop_rating', 15 );
    }

    add_action( 'woocommerce_after_shop_loop_item_title', 'yit_shop_product_description', 25 );

    if( shortcode_exists( 'yith_wcwl_add_to_wishlist' ) && yit_get_option( 'shop-view-wishlist-button' ) == 'yes' && get_option( 'yith_wcwl_enabled' ) == 'yes' ) {
        add_action( 'woocommerce_after_shop_loop_item', 'yit_shop_wishlist_action', 20 );
    }
    add_action( 'woocommerce_product_thumbnails', 'woocommerce_show_product_sale_flash' );

    if ( yit_get_option('shop-enable') == 'no' || yit_get_option( 'shop-product-price' ) == 'no' ) {
        remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price' );
    }

    /*======== SINGLE PRODUCT PAGE =========*/

    remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 );
    add_action( 'yit_single_page_breadcrumb', 'woocommerce_breadcrumb', 20, 0 );

    remove_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_sale_flash', 10 );

    if( yit_get_option('shop-single-product-nav') == 'yes' ) {
        add_action( 'woocommerce_before_single_product', 'yit_single_page_nav_links' );
    }
   add_action( 'woocommerce_single_product_summary', 'yit_product_modal_window', 25 );

    if ( yit_get_option('shop-single-product-name') == 'no' ) remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
    if ( yit_get_option( 'shop-single-metas' ) == 'no' ) remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );
    if ( yit_get_option('shop-enable') == 'no' || yit_get_option( 'shop-single-product-price' ) == 'no' ) remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );

    add_action( 'woocommerce_single_product_summary', 'yit_woocommerce_add_inquiry_form', 27 );

    /* related products */
    if ( yit_get_option( 'shop-show-related' ) == 'no' ) remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20 );
    if ( yit_get_option( 'shop-show-custom-related' ) == 'yes' ) add_filter( 'woocommerce_related_products_args', 'yit_related_posts_per_page' );

    /* tabs */
    if ( yit_get_option( 'shop-remove-reviews' ) == 'yes' ){
        add_filter( 'woocommerce_product_tabs', 'yit_remove_reviews_tab', 98 );
        remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10 );
    }
    add_filter( 'woocommerce_product_tabs', 'yit_woocommerce_add_tabs' );

    add_action('woocommerce_after_single_product_summary', 'yit_add_extra_content', 12);

    if( shortcode_exists( 'yith_wcwl_add_to_wishlist' ) && get_option( 'yith_wcwl_enabled' ) == 'yes' && yit_get_option('shop-single-show-wishlist') == 'yes' ) {
        add_action( 'woocommerce_single_product_summary', 'yit_shop_wishlist_action', 45 );
    }

    /*============== CART ============*/

    remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cross_sell_display' );
    add_action( 'woocommerce_after_cart', 'woocommerce_cross_sell_display' );

    /*============= CHECKOUT =========== */

    if( yit_get_option( 'shop-checkout-form-coupon' ) == 'no' ) {
        remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form' );
    }

    /*============== ADMIN  ==============*/

    add_action( 'woocommerce_product_options_general_product_data', 'yit_woocommerce_admin_product_ribbon_onsale' );
    add_action( 'woocommerce_process_product_meta', 'yit_woocommerce_process_product_meta', 2, 2 );

    /*===== MANAGE VAT AND SSN FIELDS =====*/

    if ( yit_get_option( 'shop-enable-vat' ) == 'yes' && yit_get_option( 'shop-enable-ssn' ) == 'yes' ) {
        add_filter( 'woocommerce_billing_fields', 'yit_woocommerce_add_billing_ssn_vat' );
        add_filter( 'woocommerce_shipping_fields', 'yit_woocommerce_add_shipping_ssn_vat' );
        add_filter( 'woocommerce_admin_billing_fields', 'woocommerce_add_billing_shipping_fields_admin' );
        add_filter( 'woocommerce_admin_shipping_fields', 'woocommerce_add_billing_shipping_fields_admin' );
    }
    elseif ( yit_get_option( 'shop-enable-vat' ) == 'yes' ) {
        add_filter( 'woocommerce_billing_fields', 'yit_woocommerce_add_billing_vat' );
        add_filter( 'woocommerce_shipping_fields', 'yit_woocommerce_add_shipping_vat' );
        add_filter( 'woocommerce_admin_billing_fields', 'woocommerce_add_billing_shipping_vat_admin' );
        add_filter( 'woocommerce_admin_shipping_fields', 'woocommerce_add_billing_shipping_vat_admin' );
        add_filter( 'woocommerce_load_order_data', 'woocommerce_add_var_load_order_data_vat' );
    }
    elseif ( yit_get_option( 'shop-enable-ssn' ) == 'yes') {
        add_filter( 'woocommerce_billing_fields', 'yit_woocommerce_add_billing_ssn' );
        add_filter( 'woocommerce_shipping_fields', 'yit_woocommerce_add_shipping_ssn' );
        add_filter( 'woocommerce_admin_billing_fields', 'woocommerce_add_billing_shipping_ssn_fields_admin' );
        add_filter( 'woocommerce_admin_shipping_fields', 'woocommerce_add_billing_shipping_ssn_fields_admin' );
        add_filter( 'woocommerce_load_order_data', 'woocommerce_add_var_load_order_data_ssn' );
    }

    /*================ QUICK VIEW ==================*/

    add_action( 'yit_load_quick_view', 'yit_woocommerce_quick_view' );
    if ( is_quick_view() ) add_filter( 'woocommerce_single_product_image_html', 'yit_product_image_slider_quick_view' );

    /* review */
    add_filter( 'comments_open', 'yit_woocommerce_show_review', 11, 2);

    /*======== MY ORDERS=========*/

    add_filter( 'sanitize_html_class', 'yit_wc_sanitize_html' , 10 , 2 );

    /*======== Support to YITH Plugins =========*/

    add_action( 'init', 'yit_plugins_support' );

}
Example #7
0
 /**
  *
  * Register and Enqueue Script and Style for old version of IE
  *
  * @return void
  *
  * @since  2.0.0
  * @access public
  * @author Andrea Grillo <*****@*****.**>
  */
 public function register_assets()
 {
     global $wp_current_filter, $wpdb;
     $is_old_ie = yit_is_old_ie();
     if (!$is_old_ie) {
         $this->register();
     } else {
         $index = $wpdb->blogid != 0 ? '-' . $wpdb->blogid : '';
         $this->_cache_old_ie_file_name = str_replace('.css', $index . '.css', $this->_cache_old_ie_file_name);
         $wp_enqueue_style = in_array('wp_enqueue_scripts', $wp_current_filter) ? true : false;
         if ($wp_enqueue_style) {
             $yit_ie_cache_transient = get_site_transient('yit_ie_old_cache_file');
             $yit_ie_responsive_transient = get_site_transient('yit_ie_responsive');
             $enable_responsive = yit_get_option('general-activate-responsive');
             if (false === $yit_ie_cache_transient) {
                 set_site_transient('yit_ie_old_cache_file', time() + 48 * HOUR_IN_SECONDS);
             }
             if (false === $yit_ie_responsive_transient) {
                 set_site_transient('yit_ie_responsive', yit_get_option('general-activate-responsive'));
             }
             if ($yit_ie_cache_transient < time() || !file_exists($this->getModel('cache')->locate_file($this->_cache_old_ie_file_name)) || $yit_ie_responsive_transient != $enable_responsive) {
                 $enable_responsive == 'yes' ? $this->remove('style', 'non-responsive') : $this->remove('style', 'responsive');
                 $file = $this->getModel('css')->create_minified_css($this->_assets, $this->_cache_old_ie_file_name);
                 set_site_transient('yit_ie_old_cache_file', time() + 48 * HOUR_IN_SECONDS);
                 set_site_transient('yit_ie_responsive', $enable_responsive);
             }
             foreach ($this->_assets['style'] as $id => $style) {
                 if (isset($style['enqueue']) && $style['enqueue']) {
                     $this->remove('style', $id);
                     wp_deregister_style($id);
                 }
             }
             $ie_cache_file = array('src' => $this->getModel('cache')->locate_url($this->_cache_old_ie_file_name), 'enqueue' => true);
             $asset_id = str_replace('.css', '', $this->_cache_old_ie_file_name);
             $where = 'first';
             $who = '';
             $this->set('style', $asset_id, $ie_cache_file, $where, $who);
         }
         $this->register();
     }
 }
 /**
  * Remove Woocommerce Styles add custom Yit Woocommerce style
  *
  * @param $styles
  *
  * @return array list of style files
  * @since    2.0.0
  */
 function yit_enqueue_wc_styles($styles)
 {
     unset($styles['woocommerce-general'], $styles['woocommerce-layout'], $styles['woocommerce-smallscreen']);
     if (!yit_is_old_ie()) {
         $styles['yit-woocommerce'] = array('src' => get_stylesheet_directory_uri() . '/woocommerce/style.css', 'deps' => '', 'version' => '1.0', 'media' => 'all');
     }
     return $styles;
 }