add_filter( 'woocommerce_order_item_name', 'add_image_to_review', 10, 3 ); function add_image_to_review( $name, $item, $visible ) { $product = get_product( $item['variation_id'] ? $item['variation_id'] : $item['product_id'] ); $link = get_permalink( $product->id ); if(!is_wc_endpoint_url()) { if(strpos($name, ' - ') !== false){ $name = preg_replace('/-([^-]+$)/', '', $name); } return ''. $name .''; } if(is_account_page()){ if(strpos($name, ' - ') !== false){ $name = preg_replace('/-([^-]+$)/', '', $name); } } if(is_account_page() || is_checkout()){ $thumbnail = $product->get_image(); $image = '' . $thumbnail . ''; return $image . ''. $name .''; } return ''. $name .''; }add_action( 'add_meta_boxes', 'add_replacement_box' ); function add_replacement_box(){ add_meta_box( 'has_replacement', __('Náhradní plnění','woocommerce'), 'has_replacement_check', 'shop_order', 'side', 'core' ); } function has_replacement_check(){ global $post; if(get_post_meta( $post->ID, 'has_replacement', true ) === 'yes'){ echo '

Požaduje náhradní plnění

'; } else if(get_post_meta( $post->ID, 'has_replacement', true ) === 'no'){ echo '

Nepožaduje náhradní plnění

'; } }add_filter('woocommerce_available_variation', 'add_price_if_equal', 10, 3); function add_price_if_equal($available, $variable, $variation){ if (empty($available['price_html'])) { $available['price_html'] = '' . $variation->get_price_html() . ''; } return $available; }add_filter('views_edit-product', function ($views) { $views['variation_pending'] = sprintf( 'Varianty čekají na schválení (%d)', isset($_GET['variation_pending']) ? 'class="current"' : '', count(pp_get_variations_pending_products()), ); unset($views['pillar_content']); return $views; }, 10, 1); function pp_get_variations_pending_products() { global $wpdb; return $wpdb->get_col( "SELECT p.ID FROM $wpdb->posts p INNER JOIN $wpdb->posts v ON v.post_parent = p.ID WHERE p.post_type = 'product' AND v.post_type = 'product_variation' AND v.post_status = 'private'" ); } add_action('load-edit.php', function () { global $typenow; if ('product' !== $typenow) { return; } add_filter('posts_where', function ($where) { if (!empty($_GET['variation_pending'])) { $where .= sprintf(' AND ID IN (%s)', implode(',', pp_get_variations_pending_products())); } return $where; }); });add_action( 'woocommerce_after_cart_item_name', function($cart_item) { echo '
' . $cart_item['data']?->get_sku() . ''; }, 10, 1 );function renderBadges($class = '') { global $product, $wpdb; if (empty($product)) { return; } $show_grouped = get_post_meta( $product->get_id(), 'show_grouped', true ); if ($product->get_catalog_visibility() === 'hidden' && $show_grouped == 1) { return; } $instock = false; if ($product->is_type('variable')) { // Get variation IDs $variation_ids = $product->get_children(); if (!empty($variation_ids)) { // Prepare the array of IDs for the query $variation_ids_placeholder = implode(',', array_map('absint', $variation_ids)); // Using direct SQL query that matches the structure you provided $sql = $wpdb->prepare( "SELECT ID FROM {$wpdb->posts} INNER JOIN {$wpdb->postmeta} ON ({$wpdb->posts}.ID = {$wpdb->postmeta}.post_id) WHERE 1=1 AND {$wpdb->posts}.ID IN ($variation_ids_placeholder) AND ({$wpdb->postmeta}.meta_key = '_stock_status' AND {$wpdb->postmeta}.meta_value != 'outofstock') AND {$wpdb->posts}.post_type = 'product_variation' AND {$wpdb->posts}.post_status = 'publish' GROUP BY {$wpdb->posts}.ID ORDER BY {$wpdb->posts}.post_date DESC LIMIT 1" ); $result = $wpdb->get_var($sql); $instock = !empty($result); } } else { $instock = $product->is_in_stock(); } $list = ''; echo $list; } add_shortcode('generate_badges', function() { renderBadges('single'); }); add_shortcode('generate_badges_', function() { renderBadges(); }); add_action('jet-woo-builder/templates/products/after-item-thumbnail', function() { renderBadges(); });add_action( 'wp_footer', function () { ?> '; });add_shortcode( 'pp_product_color_sets', function(){ $color_sets_field = get_field( 'color_set'); $color_sets = []; foreach ($color_sets_field as $field_set) { $set = $color_sets[$field_set['set_name']] = []; foreach ($field_set['colors'] as $color) { $set[$color['color_name']] = $color['color']; } } $color_sets_terms_ids = wp_get_post_terms( get_the_ID(), 'color_set', [ 'fields' => 'ids' ] ); foreach ($color_sets_terms_ids as $id) { $color_sets_term = get_field( 'Sets', 'color_set_' . $id ); // Merge with existing color sets foreach ($color_sets_term as $field_set) { $set_name = $field_set['set_name']; if (!isset($color_sets[$set_name])) { $color_sets[$set_name] = []; } foreach ($field_set['colors'] as $color) { $color_name = $color['color_name']; if (isset($color_sets[$set_name][$color_name])) { continue; } $color_sets[$set_name][$color_name] = $color['color']; } } } ob_start(); foreach ($color_sets as $set_name => $colors) { echo '
'; echo '

' . $set_name . ': ' . array_key_first($colors) . '

'; echo '
'; foreach ($colors as $color_name => $color) { echo '
' . $color_name . '
'; } echo '
'; } //JS changer of selected color echo ''; return ob_get_clean(); } );add_filter( 'woocommerce_cart_shipping_method_full_label', 'custom_shipping_icons', 10, 2 ); function custom_shipping_icons( $label, $method ) { // // DPD // if( $method->method_id == 'flexible_shipping_single' && $method->instance_id === 13 ) { $label = ''.$label.'

DPD doručí balík na Vámi zvolenou adresu.
Doručení DPD si můžete přizpůsobí svým potřebám přímo ve webové aplikaci DPD Kurýr
Dodání následující pracovní den od vyzvednutí
3 pokusy o doručení
Pojištění zásilky do 50 000 Kč v ceně přepravy
Informování SMSkou/e-mailem

'; // // DPD slovensko // } else if( $method->method_id == 'flexible_shipping_single' && $method->instance_id === 14 ) { $label = ''.$label; // // Ceska posta - do ruky // } else if( $method->method_id == 'flat_rate' && $method->instance_id === 4 ) { $label = ''.$label; // // Ceska posta - na postu // } else if( $method->method_id == 'flat_rate' && $method->instance_id === 5 ) { $label = ''.$label; // // Balikovna // } else if( $method->method_id == 'flat_rate' && $method->instance_id === 3 ) { $label = ''.$label; // // Vyzvednuti na prodejne // } else if( $method->method_id == 'local_pickup' ) { $label = ''.$label.'Zdarma

Na pobočce v Horažďovicích

Osobní odběr na pobočce v Horažďovicích, Tyršova 355, pouze po domluvě 7:30 - 13:00.

'; // // Zásilkovna // } else if( $method->method_id == 'packetery_shipping_method' ) { $label = ''.$label; } return $label; } add_filter( 'woocommerce_gateway_title', 'custom_payment_label', 25, 2 ); function custom_payment_label( $title, $gateway_id ){ if($gateway_id === 'cod') { global $WOOCS; $currencies = $WOOCS->get_currencies(); $eur = $currencies['EUR']; $codPrice = 36.30; $currency = get_woocommerce_currency(); $symbol = get_woocommerce_currency_symbol(); if($currency === 'EUR') $codPrice = $codPrice * $eur['rate']; $title = ''.$title.''.number_format($codPrice, 2, '.', ' ').''; } return $title; } add_action( 'woocommerce_after_order_object_save', 'remove_html_from_method_title' ); function remove_html_from_method_title( $order ) { global $WOOCS; $currencies = $WOOCS->get_currencies(); $eur = $currencies['EUR']; $codPrice = '36.30'; $codPriceEur = strval( number_format( $codPrice * $eur['rate'], 2, '.', '' ) ); $title = $order->get_payment_method_title(); $title = str_replace( '', '', $title ); $title = str_replace( '', '', $title ); $title = str_replace( '', '', $title ); $title = str_replace( '', '', $title ); $title = str_replace( $codPrice, '', $title ); $title = str_replace( $codPriceEur, '', $title ); $title = str_replace( '', '', $title ); update_post_meta( $order->get_id(), '_payment_method_title', $title ); }add_action('wp_footer', function () { ?>
Velkoobchodní ceny

Poptáváte velkoobchodní cenu nebo potřebujete poradit?

Pondělí - Pátek 07:00 - 15:00
+420 374 802 047 (Po-Pá 7:00-15:00)
[generate_mega_menu]

Vrstvení oblečení

Vrstvení oblečení je technika oblékání, která se využívá k optimalizaci komfortu, tepla a ochrany. Princip spočívá v tom, že více tenkých vrstev vás ochrání lépe než jedna silnější. Vzduch je zadržován mezi jednotlivými vrstvami a vzniklé mikroklima vás pak udržuje v teple.

Tento přístup je obzvláště důležitý při outdoorových aktivitách, jako je turistika, horolezectví, lyžování nebo běhání. Základ vrstvení je v používání tří hlavních vrstev: základní vrstvy, izolační vrstvy a vnější vrstvy.

  1. Základní vrstva (base layer)

Tato vrstva je v přímém kontaktu s pokožkou a její hlavní funkcí je odvádění potu pryč od těla, aby pokožka zůstala suchá.  Volte lehké a přiléhavé oblečení, které odvádí vlhkost, například tričko s dlouhým rukávem nebo tenký rolák.

Barvy základních vrstev mohou být neutrální nebo tón v tónu, aby ladily s vrchními vrstvami.

Materiály používané pro základní vrstvu zahrnují:

  • Merino vlna: Přírodní materiál, který je jemný, teplý a přirozeně odvádí vlhkost.
  • Syntetické materiály (např. polyester, polypropylen): Jsou lehké, rychleschnoucí a dobře odvádějí vlhkost.
  • Bavlna je nevhodná, protože zadržuje vlhkost, což může vést k prochladnutí.
  1. Izolační vrstva (mid layer)

Izolační vrstva zachycuje tělesné teplo a udržuje tělo v teple. Tato vrstva může být tvořena různými materiály v závislosti na požadovaném stupni izolace:

  • Fleece: Syntetický materiál, který je lehký, teplý a prodyšný.
  • Peří: Přírodní izolace, která poskytuje vynikající tepelnou izolaci při nízké hmotnosti, avšak ztrácí své izolační vlastnosti, když je vlhká.
  • Syntetická vlákna (např. PrimaLoft): Poskytují tepelnou izolaci i ve vlhkém prostředí a schnou rychleji než peří.

Pokud použijete bavlněné tričko ve druhé vrstvě, bavlna zadrží vlhkost, kterou první vrstva odvádí od těla, což může vést k rychlému ochlazení těla, což je zejména v chladných podmínkách nebezpečné.

  1. Vnější vrstva (outer layer)

Vnější vrstva chrání před vnějšími vlivy, jako je vítr, déšť nebo sníh, a zároveň by měla být prodyšná, aby umožňovala odpařování vlhkosti z vnitřních vrstev:

  • Hardshell: Odolné a nepromokavé materiály, často s membránou (např. Gore-Tex), které poskytují maximální ochranu proti dešti a větru.
  • Softshell: Kombinace ochrany a prodyšnosti, která je vhodná pro méně extrémní podmínky, poskytuje větší komfort a flexibilitu.
  1. Doplňky
  • Doplňky jako šály, čepice, rukavice a šátky nejen udržují teplo, ale také mohou dodat osobní styl.

Tipy pro správné vrstvení:

  • Přizpůsobivost: Mějte možnost přidávat nebo odebírat vrstvy podle změn počasí a úrovně aktivity.
  • Prodyšnost: Všechny vrstvy by měly být prodyšné, aby se zabránilo hromadění vlhkosti.
  • Oblečení na míru: Vyberte si oblečení, které dobře sedí, aby vrstvy mohly efektivně fungovat.

Správné vrstvení oblečení je klíčem k pohodlí a ochraně v různých podmínkách. Dodržováním těchto zásad můžete zůstat v teple, suchu a pohodlí bez ohledu na počasí.

Další tipy pro vrstvení:

  • Proporce a silueta: Hrajte si s proporcemi.
  • Barevné kombinace: U vrstvení můžete míchat různé barvy, vzory a textury, ale udržujte harmonii. Vyhněte se příliš mnoha vzorům najednou.
  • Rozepínatelné kousky: Používejte oblečení na zip nebo knoflíky, abyste mohli snadno přizpůsobit teplotu.

Správným vrstvením můžete vytvořit praktický a přizpůsobivý outfit, který se dá snadno měnit podle počasí. Výhodou vrstvení je, že jste připraveni na každý rozmar počasí.

[generate_mobile_menu]