/* * 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 Turkiye – Aure Stoica

1win Turkiye

Slot Nedir? On Line Casino Position Makinesi Oyunları Nedir? Gerçek Em Virtude De Kazan!

Slot Nedir: Kavramın Anlama Ve Ödeme OranlarıContentSlot Makinelerindeki Önemli Terimler Empieza KavramlarSlot Nedir? Online Position Oyunlarında Amaç Ve Püf Noktaları Nelerdir? Çevrimiçi Video SlotlarıQ: Online Slot Oyunları Nasıl Oynanır? En Popüler Egt Position Oyunları Nelerdir? Q: Türkiye’de Slot Equipment Oyunlarının Yaygınlığı Nelerdir? Rastgele Kazanma Şansı Ve Adil ÖdemelerÇevrimsiz Bonus NedirSlot Nelerdir? Position Ne Anlama Geliyor?…

read more
150 150 Aure

“Position Nedir?

Slot Nedir? On The Net Slot Oyunları Nasıl Oynanır? Slot Bonuslar Vip Umre Ve Hac TurlarıContentQ: Türkiye’ye Özel Hangi Position Oyunları Bulunmaktadır? Son PaylaşımlarSlot Için Daha Fazla AnlamHazırsanız, O Zaman Başlayalım! En Büyük Position Kazanır Eylül 2024Slot Oyunları Nasıl Oynanır? Q: Slot Nedir? Çevrimiçi Video SlotlarıSon YazılarSlot Oyunları Nasıl Oynanır? Çarpışma Gambling Establishment OyunlarıGerçek Parayla…

read more
150 150 Aure

1win Bonusu Nasıl Kullanılır?

"1win Bonusları: Promosyon Kodları, Promosyonlar, KuponlarContentIn Bonusu Nasıl Kullanılır? $ Reward Almak Için 1win Promosyon Kodu Betmore Nasıl Kullanılır? In Bonus Kodu GereksinimleriIn’den Daha ?ok Haberİlk Dört Para Yatırma Işlemi Için BonuslarKartla Para YatırmaKripto Afin De Kullanarak Oyun Oynayabilir Miyim? Pin Up On Line Casino Türkiye Resmi Web Site, Giriş, BonuslaIn Türkiye Sah Spor Bahisleri…

read more
150 150 Aure

Editörbet Güncell Adres”

Jojobet971 Yeni Giriş Adresi: Jojobet971 ComContentTimebet Tv Canlı Maç Izleme Sitesi Nedir? Mobil Versiyon Ve UygulamaJojobet971 Yeni Giriş Adresi: Jojobet971 ComCasinofast GirişTimebet Giriş%20 Devre Dışı Kripto Bonusu! Meybet Para Çekme%25 Günlük Yatirim BonusuLevant Casino Giriş Yaparken Tib SorunuBasaribet Casino’da Ödeme İşlemleriCasino Bet Siteleri Giriş Adresleri – Casino Bet Television Set – Canlı Maç İzle" "casino…

read more
150 150 Aure

On The World Wide Web Kumarhane Oyna Çevrimiçi Kumarhane Nolimitway

En Iyi 35 Iphone Uygulaması Çevrimiçi Kumarhane 2025ContentGüvenlik Ve LisanslamaÇeşitli Ödeme Seçenekleriyle Güvenilir Bir Uluslararası Marka Olarak Online On Line Casino NolimitwayPromosyon Kodları Ve Derecelendirmemiz 10 Yılının En İyi̇ 2024 Çevrimiçi CasinosuAdil OyunÜcretsiz Eğlenceli Kumarhane Oyunlari OynaIphone Kumarhanelerinde Oynamaya Nasıl Başlanır? Son Güncellenen Bonuslar, Oyunlar Ve Yatırma YöntemleriBirleşik Krallık’taki En İyi 12 Çevrimiçi Kumarhane 2024Bulgar…

read more
150 150 Aure