/* * Woocommerce hooks * * @version 1.0 * @author Greatives Team * @URI https://greatives.eu */ //If woocomerce plugin is not enabled return if ( !impeka_grve_woocommerce_enabled() ) { return false; } add_action( 'after_setup_theme', 'impeka_grve_woo_theme_setup' ); /** * Overwrite the WooCommerce actions and filters */ add_action('impeka_grve_woocommerce_after_single_product_sections', 'impeka_grve_print_product_bar', 40 ); add_filter('loop_shop_columns', 'impeka_grve_woo_loop_columns'); add_filter( 'loop_shop_per_page', 'impeka_grve_woo_loop_shop_per_page', 20 ); add_filter( 'woocommerce_output_related_products_args', 'impeka_grve_woo_related_args' ); add_filter( 'single_product_archive_thumbnail_size', 'impeka_grve_woo_archive_thumbnail_size' ); add_filter( 'subcategory_archive_thumbnail_size', 'impeka_grve_woo_archive_thumbnail_size' ); add_filter( 'woocommerce_gallery_thumbnail_size', 'impeka_grve_woo_gallery_thumbnail_size' ); add_filter( 'woocommerce_gallery_image_size', 'impeka_grve_woo_large_thumbnail_size' ); add_filter( 'product_cat_class', 'impeka_grve_woo_product_cat_class', 10, 3 ); add_filter( 'woocommerce_post_class', 'impeka_grve_woo_product_class', 10, 2 ); //Product Thumbnails add_action('woocommerce_product_thumbnails', 'impeka_grve_woo_thumbnails_before', 5 ); add_action( 'woocommerce_product_thumbnails', 'impeka_grve_woo_thumbnails_after', 50 ); add_filter( 'woocommerce_single_product_image_gallery_classes', 'impeka_grve_woo_add_gallery_popup_class' ); //Move Single Product Notices remove_action( 'woocommerce_before_single_product', 'woocommerce_output_all_notices', 10 ); add_action('woocommerce_single_product_summary', 'impeka_grve_print_product_social', 90 ); add_action( 'woocommerce_single_product_summary', 'woocommerce_output_all_notices', 100 ); // Move Sale Flash remove_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_sale_flash', 10 ); add_action( 'woocommerce_single_product_summary', 'woocommerce_show_product_sale_flash', 0 ); // Move Single Product Pricing remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 ); add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 2 ); //Remove Content Wrappers remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 ); remove_action( 'woocommerce_before_main_content','woocommerce_breadcrumb', 20, 0); remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 ); //Remove Archive/Shop/Product Title Description add_filter( 'woocommerce_show_page_title', '__return_false' ); add_filter( 'woocommerce_product_description_heading', '__return_empty_string' ); add_filter( 'woocommerce_product_additional_information_heading', '__return_empty_string' ); remove_action( 'woocommerce_archive_description', 'woocommerce_taxonomy_archive_description', 10 ); remove_action( 'woocommerce_archive_description', 'woocommerce_product_archive_description', 10 ); add_filter('woocommerce_checkout_fields','impeka_grve_woo_checkout_fields_no_label'); // ------------- SHOP LOOP ------------------- add_action( 'woocommerce_before_shop_loop', 'impeka_grve_woo_start_shop_result_wrapper', 19 ); add_action( 'woocommerce_before_shop_loop', 'impeka_grve_woo_end_shop_result_wrapper', 31 ); // Product Loop remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); remove_action( 'woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title' , 10 ); remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 ); remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_rating', 5 ); 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_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10 ); add_action( 'woocommerce_before_shop_loop_item', 'impeka_grve_woo_shop_loop_wrapper_start', 0 ); add_action( 'woocommerce_before_shop_loop_item_title', 'impeka_grve_woo_loop_product_thumbnail_wrapper', 10 ); add_action( 'impeka_grve_woo_loop_product_media', 'woocommerce_template_loop_product_thumbnail', 10 ); add_action( 'impeka_grve_woo_loop_product_media', 'impeka_grve_woo_loop_product_second_thumbnail', 15 ); add_action( 'woocommerce_before_shop_loop_item_title', 'impeka_grve_woo_loop_product_title_wrapper', 10 ); add_action( 'impeka_grve_woo_loop_product_content', 'impeka_grve_woo_loop_product_title', 10 ); add_action( 'impeka_grve_woo_loop_product_content', 'impeka_grve_woo_loop_add_to_cart_wrapper', 15 ); add_action( 'impeka_grve_woo_loop_price', 'woocommerce_template_loop_price', 10 ); add_action( 'impeka_grve_woo_loop_add_to_cart', 'woocommerce_template_loop_add_to_cart', 10 ); add_action( 'woocommerce_after_shop_loop_item', 'impeka_grve_woo_shop_loop_wrapper_end', 100 ); // Category Loop remove_action( 'woocommerce_before_subcategory', 'woocommerce_template_loop_category_link_open', 10 ); remove_action( 'woocommerce_shop_loop_subcategory_title', 'woocommerce_template_loop_category_title', 10 ); remove_action( 'woocommerce_before_subcategory_title', 'woocommerce_subcategory_thumbnail', 10 ); remove_action( 'woocommerce_after_subcategory', 'woocommerce_template_loop_category_link_close', 10 ); add_action( 'woocommerce_before_subcategory', 'impeka_grve_woo_shop_loop_wrapper_start', 0 ); add_action( 'woocommerce_shop_loop_subcategory_title', 'impeka_grve_woo_loop_subcategory_title_wrapper', 10 ); add_action( 'impeka_grve_woo_loop_subcategory_title', 'impeka_grve_woo_loop_subcategory_title', 10 ); add_action( 'woocommerce_before_subcategory_title', 'impeka_grve_woo_loop_subcategory_thumbnail_wrapper', 10 ); add_action( 'impeka_grve_woo_loop_subcategory_thumbnail', 'woocommerce_subcategory_thumbnail', 10 ); add_action( 'woocommerce_after_subcategory', 'impeka_grve_woo_shop_loop_wrapper_end', 100 ); // My Account add_action( 'woocommerce_before_customer_login_form', 'impeka_grve_woo_customer_login_form_wrapper_start', 0 ); add_action( 'woocommerce_after_customer_login_form', 'impeka_grve_woo_customer_login_form_wrapper_end', 100 ); //Omit closing PHP tag to avoid accidental whitespace output errors. /* * Elementor Helper functions * * @version 1.0 * @author Greatives Team * @URI https://greatives.eu */ function impeka_grve_register_elementor_locations( $elementor_theme_manager ) { $elementor_theme_manager->register_location( 'header' ); $elementor_theme_manager->register_location( 'footer' ); } add_action( 'elementor/theme/register_locations', 'impeka_grve_register_elementor_locations' ); //Omit closing PHP tag to avoid accidental whitespace output errors. /*! For license information please see locations.js.LICENSE.txt */ !function(){"use strict";var e={react:function(e){e.exports=window.React}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var i=n[r]={exports:{}};return e[r](i,i.exports,t),i.exports}t.d=function(e,n){for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};!function(){t.r(r),t.d(r,{__flushAllInjections:function(){return u},createLocation:function(){return p},createReplaceableLocation:function(){return f}});var e=t("react"),n=class extends e.Component{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}render(){return this.state.hasError?this.props.fallback:this.props.children}};function o({children:t}){return e.createElement(n,{fallback:null},e.createElement(e.Suspense,{fallback:null},t))}var i=10,c=[];function u(){c.forEach((e=>e()))}function a(e){return()=>[...e.values()].sort(((e,n)=>e.priority-n.priority))}function s(n){return()=>(0,e.useMemo)((()=>n()),[])}function l(n){return t=>e.createElement(o,null,e.createElement(n,{...t}))}function p(){const n=new Map,t=a(n),r=s(t),o=function(n){return t=>{const r=n();return e.createElement(e.Fragment,null,r.map((({id:n,component:r})=>e.createElement(r,{...t,key:n}))))}}(r),u=function(e){return({component:n,id:t,options:r={}})=>{!e.has(t)||r?.overwrite?e.set(t,{id:t,component:l(n),priority:r.priority??i}):console.warn(`An injection with the id "${t}" already exists. Did you mean to use "options.overwrite"?`)}}(n);return c.push((()=>n.clear())),{inject:u,getInjections:t,useInjections:r,Slot:o}}function f(){const n=new Map,t=a(n),r=s(t),o=function(n){return t=>{const r=n(),{component:o}=r.find((({condition:e})=>e?.(t)))??{};return o?e.createElement(o,{...t}):t.children}}(r),u=function(e){return({component:n,id:t,condition:r=()=>!0,options:o={}})=>{e.set(t,{id:t,component:l(n),condition:r,priority:o.priority??i})}}(n);return c.push((()=>n.clear())),{getInjections:t,useInjections:r,inject:u,Slot:o}}}(),(window.elementorV2=window.elementorV2||{}).locations=r}(),window.elementorV2.locations?.init?.(); /* * Element Navigation Walker * * @version 1.0 * @author Greatives Team * @URI https://greatives.eu */ if ( !class_exists('Impeka_Grve_Element_Navigation_Walker') ) { class Impeka_Grve_Element_Navigation_Walker extends Walker_Nav_Menu { public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; $classes = empty( $item->classes ) ? array() : (array) $item->classes; $classes[] = 'menu-item-' . $item->ID; if ( '0' == $depth ) { $classes[] = 'grve-first-level grve-menu-element-first-level'; } $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args, $depth ) ); $class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : ''; $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args, $depth ); $id = $id ? ' id="' . esc_attr( $id ) . '"' : ''; $output .= $indent . ''; $atts = array(); $atts['title'] = ! empty( $item->attr_title ) ? $item->attr_title : ''; $atts['target'] = ! empty( $item->target ) ? $item->target : ''; $atts['rel'] = ! empty( $item->xfn ) ? $item->xfn : ''; $atts['href'] = ! empty( $item->url ) ? $item->url : ''; //Add Link Class if ( isset( $item->grve_link_classes ) && !empty( $item->grve_link_classes ) ) { $atts['class'] = $item->grve_link_classes; } $atts = apply_filters( 'nav_menu_link_attributes', $atts, $item, $args, $depth ); $attributes = ''; foreach ( $atts as $attr => $value ) { if ( ! empty( $value ) ) { $value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value ); $attributes .= ' ' . $attr . '="' . $value . '"'; } } $item_output = $args->before; $item_output .= ''; $item_output .= $args->after; if ( in_array('menu-item-has-children', $item->classes) ) { $item_output .= '
'; } $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } public function end_el( &$output, $item, $depth = 0, $args = array() ) { if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) { $t = ''; $n = ''; } else { $t = "\t"; $n = "\n"; } if ( in_array('menu-item-has-children', $item->classes) ) { $output .= '
'; } $output .= "{$n}"; } } } 1WIN Official In Russia – Aure Stoica

1WIN Official In Russia

1win официального Сайт: Ваш Проводник В Мире упомянутых Онлайн-ставок Лидер пообтесавшихся Букмекерских Контор вход На Официальный Сайт 1вин, Регистрация и Бонус До 500% Наслаждайтесь Игрой а Выигрывайте Больше!

1win Официальный Сайт Букмекерской Конторы 1винContentИграйте В Brawl PiratesМнение Беттинг Экспертов О том Сайте:Бонусы В Бк 1 ВинОфициальный Сайт Казино И Бк 1win: Онлайн Игры и Ставки На СпортМожно Ли делать Ставки И Играть В Слоты киромарусом Телефона?Официальный Сайт 1winОбзор официальному Сайта 1винОнлайн КазиноСтавки в Спорт В Бк 1winИграйте В Royal MinesУстановка а Настр͏ойка ПриложенияКак…

read more
150 150 Aure