<?php
/**
 * @author  RadiusTheme
 * @since   1.0
 * @version 1.0
 */

/* Theme supports for WooCommerce */
add_action('after_setup_theme', 'digeco_wc_support');
/* Header cart count number */
add_filter( 'woocommerce_add_to_cart_fragments', 'digeco_header_cart_count' );

/* Breadcrumb */
remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 );

/* Modify responsive smallscreen size */
add_filter( 'woocommerce_style_smallscreen_breakpoint', 'digeco_smallscreen_breakpoint' );

/* Shop hide default page title */
add_filter( 'woocommerce_show_page_title', 'digeco_wc_hide_page_title' );

/* Shop products per page */
add_filter( 'loop_shop_per_page', 'digeco_wc_loop_shop_per_page' );

/* Shop/Archive Wrapper */
remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
remove_action( 'woocommerce_sidebar', 'woocommerce_get_sidebar', 10 );
remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 );
add_action( 'woocommerce_before_main_content', 'digeco_wc_wrapper_start', 10 );
add_action( 'woocommerce_after_main_content', 'digeco_wc_wrapper_end', 10 );

/* Shop top tab */
remove_action( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 );
remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30 );
add_action( 'woocommerce_before_shop_loop', 'digeco_wc_shop_topbar', 20 );

/* Shop loop */
remove_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 );
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_product_link_close', 5 );
remove_action( 'woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title', 10 );
remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_show_product_loop_sale_flash', 10 );
remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10 );
/*Parvez*/
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );

add_action( 'woocommerce_shop_loop_item_title', 'digeco_wc_loop_product_title', 10 );
add_filter( 'loop_shop_columns', 'digeco_wc_loop_shop_columns' );
add_action( 'woocommerce_before_shop_loop_item_title', 'digeco_wc_shop_thumb_area', 11 );
add_action( 'woocommerce_before_shop_loop_item_title', 'digeco_wc_shop_info_wrap_start', 12 );
add_action( 'woocommerce_after_shop_loop_item_title', 'digeco_wc_shop_add_description', 12 );
add_action( 'woocommerce_after_shop_loop_item', 'digeco_wc_shop_info_wrap_end', 12 );

/* Single Product */
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );

add_action( 'woocommerce_single_product_summary', 'digeco_wc_render_sku', 15 );
add_action( 'woocommerce_single_product_summary', 'digeco_wc_render_meta', 16 );
add_action( 'woocommerce_single_product_summary', 'digeco_content_after_addtocart_button_func', 17 );
add_action( 'init', 'digeco_wc_show_or_hide_related_products' );


// Hide product data tabs
add_filter( 'woocommerce_product_tabs', 'digeco_wc_hide_product_data_tab' );
add_filter( 'woocommerce_product_review_comment_form_args', 'digeco_wc_product_review_form' );


/* Cart */
remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cross_sell_display' );
remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cart_totals', 10 );
add_action( 'woocommerce_cart_collaterals', 'woocommerce_cart_totals' );

add_action( 'init', 'digeco_wc_show_or_hide_cross_sells' );

// Yith Quickview
if ( function_exists( 'YITH_WCQV_Frontend' ) ) {
	remove_action( 'woocommerce_after_shop_loop_item', array( YITH_WCQV_Frontend(), 'yith_add_quick_view_button' ), 15 );
	remove_action( 'yith_wcwl_table_after_product_name', array( YITH_WCQV_Frontend(), 'yith_add_quick_view_button' ), 15 );
}


/* Yith Wishlist */
if ( function_exists( 'YITH_WCWL_Frontend' ) && class_exists( 'YITH_WCWL_Ajax_Handler' )  ) {
    $wishlist_init = YITH_WCWL_Frontend();
    remove_action( 'wp_head',                           array( $wishlist_init, 'add_button' ) );
    add_action( 'wp_ajax_digeco_add_to_wishlist',            'digeco_add_to_wishlist' );
    add_action( 'wp_ajax_nopriv_digeco_add_to_wishlist',     'digeco_add_to_wishlist' );
}

function digeco_add_to_wishlist() {
    check_ajax_referer( 'digeco_wishlist_nonce', 'nonce' );
    YITH_WCWL_Ajax_Handler::add_to_wishlist();
    wp_die();
}
