registered['jquery'] ) ) { $scripts->registered['jquery']->deps = array_diff( $scripts->registered['jquery']->deps, array( 'jquery-migrate' ) ); } } ); /** * Require theme functions */ require_once get_template_directory() . '/includes/core/init.php'; /** * Sets up theme defaults features. */ function dotspice_setup() { // Automatic Feed Links add_theme_support('automatic-feed-links'); // Title tag add_theme_support('title-tag'); // Featured Images add_theme_support('post-thumbnails'); add_action('init', 'dotspice_heartbeat_setup'); // HTML5 Semantic Markup add_theme_support('html5', array('comment-list', 'comment-form', 'search-form', 'gallery', 'caption', 'script', 'style')); // Translation load_theme_textdomain('dotspice', get_template_directory() . '/languages'); // This theme uses wp_nav_menu() in one location. register_nav_menus(array( 'primary' => esc_html__('Primary', 'dotspice'), 'additional' => esc_html__('Additional', 'dotspice'), )); // Thumbnails Crop if (!get_option('medium_crop')) { update_option('medium_crop', 1); update_option('large_crop', 1); } // Set the content width if (!isset($content_width)) { $content_width = 1170; } } function dotspice_heartbeat_setup() { // Sprawdź czy użytkownik jest administratorem if (current_user_can('administrator')) { // Ustaw interwał odświeżania na 15 sekund (możesz dostosować wartość według swoich potrzeb) add_filter('heartbeat_settings', function ($settings) { $settings['interval'] = 15; return $settings; }); } } // Wywołaj funkcję dotspice_setup() //add_action('after_setup_theme', 'dotspice_setup'); add_action('after_setup_theme', 'dotspice_setup'); /** * Include Sripts & Styles */ function dotspice_scripts() { // Enqueue Scripts wp_enqueue_script('jquery'); wp_enqueue_script('bootstrap-js', get_template_directory_uri() . '/js/bootstrap.min.js', array('jquery'), '', true); wp_enqueue_script('aos-js', get_template_directory_uri() . '/js/aos.min.js', array('jquery'), '', true); wp_enqueue_script('owl-carousel-js', get_template_directory_uri() . '/js/owl.carousel.min.js', array('jquery'), '', true); wp_enqueue_script('simpleParallax-js', get_template_directory_uri() . '/js/simpleParallax.min.js', array('jquery'), '', true); if (is_singular() && comments_open() && get_option('thread_comments')) { wp_enqueue_script('comment-reply'); } if (dotspice_get_theme_option('header_sticky', 'none') != 'none') { wp_enqueue_script('sticky-header', get_template_directory_uri() . '/js/sticky-header.js', array(), filemtime(get_template_directory() . '/js/sticky-header.js'), true); } if (dotspice_has_shortcode('gallery')) { wp_enqueue_script('magnific-popup', get_template_directory_uri() . '/js/jquery.magnific-popup.min.js', array('jquery'), '', true); } wp_enqueue_script('script', get_template_directory_uri() . '/js/script.js', array(), filemtime(get_template_directory() . '/js/script.js'), true); // Dequeue Styles wp_dequeue_style('wp-block-library'); wp_dequeue_style('wc-block-style'); wp_dequeue_style('cookie-consent-style'); // Enqueue Fonts foreach (dotspice_get_theme_option('fonts', array()) as $font_key => $font_value) { if (!empty($font_value)) { wp_enqueue_style(esc_attr($font_key) . '-fonts', $font_value, array(), null); } } // Enqueue Styles if (dotspice_has_shortcode('gallery')) { wp_enqueue_style('magnific-popup', get_template_directory_uri() . '/css/magnific-popup.min.css', array(), null); } wp_enqueue_style('style', get_template_directory_uri() . '/css/style.css', array(), filemtime(get_template_directory() . '/css/style.css')); wp_enqueue_style('owl-carousel', get_template_directory_uri() . '/css/owl.carousel.min.css', array(), filemtime(get_template_directory() . '/css/owl.carousel.min.css')); } add_action('wp_enqueue_scripts', 'dotspice_scripts'); /** * Register Widgets Areas */ function dotspice_widgets_init() { $theme_sidebars = array( 'before-header' => array('tag' => false, 'name' => esc_html__('Before Header', 'dotspice')), 'jumbotron' => array('tag' => false, 'name' => esc_html__('Jumbotron', 'dotspice')), 'sidebar' => array('tag' => 'div', 'name' => esc_html__('Sidebar', 'dotspice')), 'footer' => array('tag' => false, 'name' => esc_html__('Footer', 'dotspice')), 'footer-area-1' => array('tag' => 'div', 'name' => sprintf(esc_html__('Footer Area %s', 'dotspice'), 1)), 'footer-area-2' => array('tag' => 'div', 'name' => sprintf(esc_html__('Footer Area %s', 'dotspice'), 2)), 'footer-area-3' => array('tag' => 'div', 'name' => sprintf(esc_html__('Footer Area %s', 'dotspice'), 3)), 'footer-area-4' => array('tag' => 'div', 'name' => sprintf(esc_html__('Footer Area %s', 'dotspice'), 4)), 'footer-copy' => array('tag' => false, 'name' => esc_html__('Footer Copyright', 'dotspice')), ); if (class_exists('woocommerce')) { $theme_sidebars = array_merge($theme_sidebars, array( 'shop-sidebar' => array('tag' => 'h3', 'name' => esc_html__('Shop Sidebar', 'dotspice')), 'shop-before-content' => array('tag' => false, 'name' => esc_html__('Shop Before Content', 'dotspice')), 'shop-after-content' => array('tag' => false, 'name' => esc_html__('Shop After Content', 'dotspice')), )); } foreach ($theme_sidebars as $sidebar_ID => $sidebar_data) { register_sidebar(array( 'name' => $sidebar_data['name'], 'id' => $sidebar_ID, 'description' => esc_html__('Add widgets here.', 'dotspice'), 'before_widget' => ($sidebar_data['tag']) ? '
' : '', 'after_widget' => ($sidebar_data['tag']) ? '
' : '', 'before_title' => ($sidebar_data['tag']) ? '<' . $sidebar_data['tag'] . ' class="widget-title">' : '', 'after_title' => ($sidebar_data['tag']) ? '' : '', )); } } add_action('widgets_init', 'dotspice_widgets_init'); /** * Paste your code here */ add_filter('gutenberg_use_widgets_block_editor', '__return_false'); add_filter('use_widgets_block_editor', '__return_false'); function dotspice_remove_p_tags($content) { if (is_singular('page')) { remove_filter('the_content', 'wpautop'); remove_filter('the_excerpt', 'wpautop'); } return $content; } add_filter('the_content', 'dotspice_remove_p_tags', 0); /** * Classic widget */ add_filter('gutenberg_use_widgets_block_editor', '__return_false'); add_filter('use_widgets_block_editor', '__return_false'); /** * Wordpress change footer text */ function remove_footer_admin() { echo 'Dotspice.com'; } add_filter('admin_footer_text', 'remove_footer_admin'); /** * Disable xmlrpc.php */ add_filter('xmlrpc_enabled', '__return_false'); remove_action('wp_head', 'rsd_link'); remove_action('wp_head', 'wlwmanifest_link'); function my_acf_init() { acf_update_setting('select2_version', 4); } add_action('acf/init', 'my_acf_init'); add_filter('manage_edit-shop_order_columns', 'show_product_order', 15); function show_product_order($columns) { //add column $columns['product-display'] = __('Produkty'); return $columns; } add_action('manage_shop_order_posts_custom_column', 'snv_custom_shop_order_column', 10, 2); function snv_custom_shop_order_column($column) { global $post, $woocommerce, $the_order; switch ($column) { case 'product-display': $terms = $the_order->get_items(); if (is_array($terms)) { foreach ($terms as $term) { echo $term['item_meta']['_qty'][0] . ' x ' . $term['name'] . ''; } } else { _e('Nie można uzyskać produktów?', 'woocommerce'); } break; } } //style statusow add_action('admin_head', 'statusy'); function statusy() { echo ''; } //cookies setcookie(TEST_COOKIE, 'WP Cookie check', 0, COOKIEPATH, COOKIE_DOMAIN); if (SITECOOKIEPATH != COOKIEPATH) setcookie(TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN); add_action('woocommerce_order_status_processing', 'pracownia'); function pracownia($order_id) { // Lets grab the order $order = new WC_Order($order_id); $order_number = $order->get_order_number(); /** * Put your tracking code here * You can get the order total etc e.g. $order->get_total(); */ // This is the order total $order->get_total(); // This is how to grab line items from the order $line_items = $order->get_items(); // This loops over line items foreach ($line_items as $item) { // This will be a product $product = $order->get_product_from_item($item); $email = urlencode($order->get_billing_email()); $phone = urlencode($order->get_billing_phone()); // This is the products SKU $sku = $product->get_sku(); // This is the qty purchased $qty = $item->get_quantity(); // Line item total cost including taxes and rounded $total = $order->get_line_total($item, true, true); // Line item subtotal (before discounts) $subtotal = $order->get_line_subtotal($item, true, true); $product_name = urlencode($item->get_name()); $comment = urlencode($order->customer_message); $product_id = $item['product_id']; $cat = get_post_meta($product_id, '_yoast_wpseo_primary_product_cat', true); $meta = ""; $item_id = $item->get_ID(); $commentpro = urlencode(wc_get_order_item_meta($item_id, 'Wpisz kolor i rodzaj skóry (sprawdź wzornik) oraz ewentualne szczegóły Twojego zamówienia:', true)); $skora = urlencode(wc_get_order_item_meta($item_id, 'Wpisz kolor i rodzaj skóry (sprawdź wzornik)', true)); $pasek = urlencode(wc_get_order_item_meta($item_id, 'Pasek', true)); $okucia = urlencode(wc_get_order_item_meta($item_id, 'Kolor okuć', true)); $podszewka = urlencode(wc_get_order_item_meta($item_id, 'Kolor podszewki', true)); $inicjaly = urlencode(wc_get_order_item_meta($item_id, 'Personalizacja - FABIOLA handmade for XXXXXXXXXX (do 10 liter- znaków)', true)); $img_string = wc_get_order_item_meta($item_id, 'Dodaj plik', true); $dodatkowypasek_string = wc_get_order_item_meta($item_id, 'Dodatkowy pasek lub rączka', true); $dodatkowypasek_s = explode("|", $dodatkowypasek_string); $dodatkowypasek = urlencode($dodatkowypasek_s[0]); $dodatkowypasek_string2 = wc_get_order_item_meta($item_id, 'Dodatkowy pasek', true); $dodatkowypasek_s2 = explode("|", $dodatkowypasek_string2); $dodatkowypasek2 = urlencode($dodatkowypasek_s2[0]); $raczka_string = wc_get_order_item_meta($item_id, 'Rączka', true); $raczka_s = explode("|", $raczka_string); $raczka = urlencode($raczka_s[0]); $dodatkowypasekdlugosc = urlencode(wc_get_order_item_meta($item_id, 'Może chcesz zmienić długość? ', true)); $img_s = explode("|", $img_string); $img = urlencode($img_s[1]); $days_string = wc_get_order_item_meta($item_id, 'Planowana data wysyłki', true); $days_s = explode("|", $days_string); $days = urlencode($days_s[0]); $grawer_string = wc_get_order_item_meta($item_id, 'Grawer laserowy', true); $grawer_string2 = $grawer_string; if(!$grawer_string || strpos($grawer_string, 'Bez graweru') !==false || strpos($grawer_string2, 'Brak graweru')!==false) { $grawer = 0; } else { $grawer = 1; } $x = 1; while ($x <= $qty) { if($cat!=2288) { echo file_get_contents("http://pracownia.torebki-fabiola.pl/api.php?key=4c40a73650c6a3d3a81c56e6a09a031d&order_id=" . $order_number . "&itemid=" . $item_id . "&product_name=" . $product_name . "&cat=" . $cat . "&comment=" . $comment . "&email=" . $email . "&phone=" . $phone . "&img=" . $img . "&days=" . $days . "&grawer=" . $grawer . ""); } if ($dodatkowypasek && $dodatkowypasek != "Nie " && $dodatkowypasek != "Nie" && $dodatkowypasek != "Nie+" && $dodatkowypasek != "NIE " && $dodatkowypasek != "NIE+" && $dodatkowypasek != " BEZ PASKA" && $dodatkowypasek != "+BEZ PASKA") { echo file_get_contents("http://pracownia.torebki-fabiola.pl/api.php?key=4c40a73650c6a3d3a81c56e6a09a031d&order_id=" . $order_number . "&itemid=" . $item_id . "&product_name=" . $dodatkowypasek . "&cat=308&comment=" . $comment . "&email=" . $email . "&phone=" . $phone . "&img=" . $img . "&dlugoscpaska=" . $dodatkowypasekdlugosc . "&namemain=" . $product_name . "&days=" . $days . "&grawer=" . $grawer . ""); } if ($dodatkowypasek2 && $dodatkowypasek2 != "Nie " && $dodatkowypasek2 != "Nie" && $dodatkowypasek2 != "Nie+" && $dodatkowypasek2 != "NIE " && $dodatkowypasek2 != "NIE+"&& $dodatkowypasek2 != " BEZ PASKA" && $dodatkowypasek2 != "+BEZ PASKA") { echo file_get_contents("http://pracownia.torebki-fabiola.pl/api.php?key=4c40a73650c6a3d3a81c56e6a09a031d&order_id=" . $order_number . "&itemid=" . $item_id . "&product_name=" . $dodatkowypasek2 . "&cat=308&comment=" . $comment . "&email=" . $email . "&phone=" . $phone . "&img=" . $img . "&dlugoscpaska=" . $dodatkowypasekdlugosc . "&namemain=" . $product_name . "&days=" . $days . "&grawer=" . $grawer . ""); } if ($raczka && $raczka != "Nie " && $raczka != "Nie" && $raczka != "Nie+" && $raczka != "Nie " && $raczka != "Nie++" && $raczka != "NIE " && $raczka != "NIE+") { echo file_get_contents("http://pracownia.torebki-fabiola.pl/api.php?key=4c40a73650c6a3d3a81c56e6a09a031d&order_id=" . $order_number . "&itemid=" . $item_id . "&product_name=" . $raczka . "&cat=1599&comment=" . $comment . "&email=" . $email . "&phone=" . $phone . "&img=" . $img . "&namemain=" . $product_name . "&days=" . $days . "&grawer=" . $grawer . ""); } $x++; } } } add_filter('manage_edit-shop_order_columns', 'custom_shop_order_column', 11); function custom_shop_order_column($columns) { $columns['my-column1'] = __('Skąd', 'theme_slug'); return $columns; } add_action('manage_shop_order_posts_custom_column', 'custom_orders_list_column_content', 10, 2); function custom_orders_list_column_content($column) { global $post, $woocommerce, $the_order; $order_id = $the_order->id; switch ($column) { case 'my-column1': $myVarOne = get_post_meta($order_id, 'aaa_from', true); if ($myVarOne != "") { echo "" . $myVarOne . ""; } else { echo "WP"; } break; } } /* This snippet removes the action that inserts thumbnails to products in teh loop * and re-adds the function customized with our wrapper in it. * It applies to all archives with products. * * @original plugin: WooCommerce * @author of snippet: Brian Krogsard */ remove_action('woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10); add_action('woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10); /** * WooCommerce Loop Product Thumbs **/ if (!function_exists('woocommerce_template_loop_product_thumbnail')) { function woocommerce_template_loop_product_thumbnail() { echo woocommerce_get_product_thumbnail(); } } /** * WooCommerce Product Thumbnail **/ if (!function_exists('woocommerce_get_product_thumbnail')) { function woocommerce_get_product_thumbnail($size = 'shop_catalog', $placeholder_width = 0, $placeholder_height = 0) { global $post, $woocommerce; $output = '
'; if (has_post_thumbnail()) { $output .= get_the_post_thumbnail($post->ID, $size); } else { $output .= 'Placeholder'; } $output .= '
'; return $output; } } function get_cookies($paras = '', $content = '') { if (strtolower($paras[0]) == 'novalue') { $novalue = true; } else { $novalue = false; } if ($content == '') { $seperator = ' : '; } else { $seperator = $content; } $cookie = $_COOKIE; ksort($cookie); $content = "n"; return do_shortcode($content); } add_shortcode('cookies', 'get_cookies'); function my_custom_available_payment_gateways($gateways) { $chosen_shipping_rates = (isset(WC()->session)) ? WC()->session->get('chosen_shipping_methods') : array(); if (isset($chosen_shipping_rates) && is_array($chosen_shipping_rates)) { if (in_array('flexible_shipping_single:29', $chosen_shipping_rates) || in_array('flexible_shipping_single:27', $chosen_shipping_rates)) { unset($gateways['cod']); } elseif (in_array('flexible_shipping_single:28', $chosen_shipping_rates)) { unset($gateways['bacs']); unset($gateways['cheque']); unset($gateways['paypal']); unset($gateways['przelewy24']); } elseif (in_array('flexible_shipping_single:32', $chosen_shipping_rates)) { unset($gateways['bacs']); unset($gateways['cheque']); unset($gateways['paypal']); unset($gateways['przelewy24']); } elseif (in_array('flexible_shipping_single:25', $chosen_shipping_rates)) { unset($gateways['cod']); } elseif (in_array('flexible_shipping_single:29', $chosen_shipping_rates)) { unset($gateways['cod']); } elseif (in_array('flexible_shipping_single:31', $chosen_shipping_rates)) { unset($gateways['cod']); } elseif (in_array('flexible_shipping_single:27', $chosen_shipping_rates)) { unset($gateways['cod']); } } return $gateways; } add_filter('woocommerce_available_payment_gateways', 'my_custom_available_payment_gateways'); function payment_gateway_disable_country($available_gateways) { global $woocommerce; if (isset($available_gateways['cod']) && $woocommerce->customer->get_country() <> 'PL') { unset($available_gateways['cod']); } return $available_gateways; } add_filter('woocommerce_available_payment_gateways', 'payment_gateway_disable_country'); add_action('woocommerce_email_before_order_table', 'fabiola_add_content_specific_email', 20, 4); function fabiola_add_content_specific_email($order, $sent_to_admin, $plain_text, $email) { if ($email->id == 'customer_processing_order') { echo '

Śledzenie zamówienia

Możesz śledzić proces tworzenia Twojego zamówienia na bieżąco pod tym adresem: https://pracownia.torebki-fabiola.pl/tracking.php?order=' . $order->get_order_number() . '&email=' . $order->get_billing_email() . '

'; } } add_filter('woocommerce_product_tabs', 'woo_remove_product_tabs', 98); function woo_remove_product_tabs($tabs) { unset($tabs['description']); // Remove the description tab unset($tabs['reviews']); // Remove the reviews tab unset($tabs['additional_information']); // Remove the additional information tab return $tabs; } // Insert additional information into description tab add_filter('woocommerce_product_tabs', function ($tabs) { $tabs['description']['callback'] = function () { global $product; wc_get_template('single-product/tabs/description.php'); if ($product && ($product->has_attributes() || apply_filters('wc_product_enable_dimensions_display', $product->has_weight() || $product->has_dimensions()))) { wc_get_template('single-product/tabs/additional-information.php'); } }; return $tabs; }, 98); add_filter('woocommerce_product_description_heading', 'bbloomer_rename_description_tab_heading'); function bbloomer_rename_description_tab_heading() { return 'Więcej informacji'; } add_action('woocommerce_thankyou', 'my_custom_tracking'); function my_custom_tracking($order_id) { $order = wc_get_order($order_id); $total = $order->get_subtotal(); $order_num = str_replace('#', '', $order->get_order_number()); echo ''; } add_filter('woocommerce_get_price_html', 'bbloomer_price_free_zero_empty', 9999, 2); function bbloomer_price_free_zero_empty($price, $product) { if ('' === $product->get_price() || 0 == $product->get_price()) { $price = ''; } return $price; } /** * Change number of products that are displayed per page (shop page) */ add_filter('loop_shop_per_page', 'wc_redefine_products_per_page', 9999); function wc_redefine_products_per_page($per_page) { $per_page = 12; return $per_page; } add_action('woocommerce_archive_description', 'custom_archive_description', 2); function custom_archive_description() { if (is_product_category()) : remove_action('woocommerce_archive_description', 'woocommerce_taxonomy_archive_description', 10); add_action('woocommerce_after_main_content', 'woocommerce_taxonomy_archive_description', 5); endif; } /** * Custom post type for "Nagrody Gwiazdy Prasa" */ function dotspice_add_custom_post_types() { // Product register_post_type('galeria_nagrody', array( 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => true, 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => 5, 'menu_icon' => 'dashicons-admin-post', 'supports' => array('title', 'editor', 'thumbnail', 'excerpt'), 'labels' => array( 'name' => 'Nagrody / Prasa / Gwiazdy', 'singular_name' => 'Nagrody / Prasa / Gwiazdy', 'menu_name' => 'Nagrody / Prasa / Gwiazdy' ), )); } add_action('init', 'dotspice_add_custom_post_types'); add_action( 'woocommerce_after_add_to_cart_form', 'dotspice_below_single_product_summary', 20 ); function dotspice_below_single_product_summary() { echo ''; } /** * Display custom badge */ add_action( 'woocommerce_before_shop_loop_item_title', 'dotspice_available_badge_shop_page', 3 ); function dotspice_available_badge_shop_page() { if ( $badge = get_field( 'badge' ) ) { echo '' . esc_html( $badge ) . ''; } } // Wyłącz Heartbeat //add_action('init', 'stop_heartbeat', 1); function stop_heartbeat() { wp_deregister_script('heartbeat'); } // Automatyczna aktualizacja koszyka add_action( 'wp_footer', function() { ?>