<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SEM/SEO | Kobieta Koduje</title>
	<atom:link href="https://sklep.kobietakoduje.pl/category/sem-seo/feed/" rel="self" type="application/rss+xml" />
	<link>https://sklep.kobietakoduje.pl</link>
	<description>Strony www i sklepy internetowe &#124; Marketing internetowy &#124; Reklama tradycyjna</description>
	<lastBuildDate>Thu, 11 Sep 2025 14:58:13 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://sklep.kobietakoduje.pl/wp-content/uploads/logo-kobietakoduje.svg</url>
	<title>SEM/SEO | Kobieta Koduje</title>
	<link>https://sklep.kobietakoduje.pl</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>PrestaShop + Creative Elements: jak naprawić niedziałający modal koszyka (bez aktualizacji modułu)</title>
		<link>https://sklep.kobietakoduje.pl/prestashop-creative-elements-jak-naprawic-niedzialajacy-modal-koszyka-bez-aktualizacji-modulu/</link>
					<comments>https://sklep.kobietakoduje.pl/prestashop-creative-elements-jak-naprawic-niedzialajacy-modal-koszyka-bez-aktualizacji-modulu/#respond</comments>
		
		<dc:creator><![CDATA[kobieta koduje]]></dc:creator>
		<pubDate>Thu, 11 Sep 2025 14:29:05 +0000</pubDate>
				<category><![CDATA[SEM/SEO]]></category>
		<guid isPermaLink="false">https://kobietakoduje.pl/?p=7847</guid>

					<description><![CDATA[<p>W starszych wersjach Creative Elements (Elementor dla PrestaShop) występował uciążliwy problem: po dodaniu produktu do koszyka modal z podsumowaniem nie działał poprawnie. Efekty były różne: klient był automatycznie przekierowywany do checkoutu, albo modal się otwierał, ale nie można go było zamknąć (X i „Kontynuuj zakupy” nie działały, a tło pozostawało przyciemnione). 1. Poprawne ustawienia w [&#8230;]</p>
<p></p>]]></description>
										<content:encoded><![CDATA[<div data-elementor-type="wp-post" data-elementor-id="7847" class="elementor elementor-7847" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-1f43285 e-flex e-con-boxed e-con e-parent" data-id="1f43285" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-2bc1e09 elementor-widget elementor-widget-html" data-id="2bc1e09" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<div class="article-fix-modal">


  <p>W starszych wersjach <strong>Creative Elements</strong> (Elementor dla PrestaShop) występował uciążliwy problem:
    po dodaniu produktu do koszyka <strong>modal z podsumowaniem nie działał poprawnie</strong>.</p>

  <p>Efekty były różne:</p>
  <ul>
    <li>klient był automatycznie przekierowywany do checkoutu,</li>
    <li>albo modal się otwierał, ale nie można go było zamknąć (X i „Kontynuuj zakupy” nie działały, a tło pozostawało przyciemnione).</li>
  </ul>

  <h3>1. Poprawne ustawienia w Creative Elements</h3>
  <p>Najpierw musimy upewnić się, że CE w ogóle pozwala Preście otworzyć modal. W edytorze
    <em>Creative Elements → Header Template</em>:</p>
  <ul>
    <li>znajdź widget <strong>Shopping Cart</strong> i ustaw:
      <ul>
        <li><strong>Add to Cart Action = Add to Cart</strong> (nie „Buy Now”),</li>
        <li>włącz przełącznik <strong>Show Modal</strong>.</li>
      </ul>
    </li>
    <li>jeżeli masz aktywny „Sidebar” koszyka → wyłącz go lub ustaw <strong>Skin = Classic</strong>.</li>
  </ul>

  <h3>2. Poprawne hooki w Preście</h3>
  <p>Sam modal to część modułu <strong>ps_shoppingcart</strong>, który musi być wpięty w odpowiednie miejsce. Sprawdź w
    <em>Design → Positions</em>, że:</p>
  <ul>
    <li><code>ps_shoppingcart</code> jest przypisany do <strong><code>displayAfterBodyOpeningTag</code></strong> (to zapewnia, że element <code>#blockcart-modal</code> pojawia się w DOM od razu po <code>&lt;body&gt;</code>).</li>
  </ul>

  <h3>3. Fix w JavaScript</h3>
  <p>Jeżeli powyższe jest ustawione, modal pojawia się, ale w starszych CE <strong>nie działa zamykanie</strong>.
    Wtedy dodajemy własną obsługę zamykania w pliku <code>custom.js</code> (lub w tym samym widget HTML).</p>

  <pre><code class="language-js">
// HARD CLOSE: poprawka modala koszyka dla starszych wersji Creative Elements
(function () {
  function closeAllModals() {
    document.querySelectorAll('.modal.show, .modal[style*="display: block"]').forEach(function (m) {
      m.classList.remove('show', 'in');
      m.style.display = 'none';
      m.setAttribute('aria-hidden', 'true');
    });
    document.querySelectorAll('.modal-backdrop').forEach(function (bd) { bd.remove(); });
    document.body.classList.remove('modal-open');
    document.body.style.removeProperty('padding-right');
  }

  document.addEventListener('click', function (e) {
    if (
      e.target.closest('#blockcart-modal .close') ||
      e.target.closest('#blockcart-modal .btn.btn-secondary')
    ) {
      e.preventDefault();
      e.stopPropagation();
      closeAllModals();
    }
  }, true);

  document.addEventListener('click', function (e) {
    if (e.target.classList && e.target.classList.contains('modal-backdrop')) {
      e.preventDefault();
      e.stopPropagation();
      closeAllModals();
    }
  }, true);

  document.addEventListener('keydown', function (e) {
    if (e.key === 'Escape') {
      closeAllModals();
    }
  }, true);
})();
</code></pre>

  <h3>4. Dlaczego to działa?</h3>
  <p><strong>Creative Elements</strong> blokuje <code>data-dismiss="modal"</code>, które normalnie obsługuje zamykanie.
    Nasz skrypt ignoruje ten atrybut i <strong>ręcznie chowa modal</strong>: usuwa klasy <code>.show</code>, 
    <code>display:block</code>, <code>modal-open</code> i wszystkie <code>modal-backdrop</code>. Dzięki temu modal
    zamyka się w całości na X, „Kontynuuj zakupy”, ESC i klik w tło.</p>

  <h3>Podsumowanie</h3>
  <ol>
    <li>W Creative Elements ustaw w koszyku <strong>Add to Cart Action = Add to Cart</strong> i <strong>Show Modal = ON</strong>.</li>
    <li>Upewnij się w <em>Design → Positions</em>, że <code>ps_shoppingcart</code> jest wpięty do <code>displayAfterBodyOpeningTag</code>.</li>
    <li>Dodaj fix JS (powyżej) w <code>custom.js</code> lub w widżecie HTML w CE.</li>
  </ol>

  <p>To rozwiązanie przywróci poprawne działanie popupu koszyka i poprawi UX sklepu – bez konieczności natychmiastowej aktualizacji Creative Elements. 
    Docelowo warto rozważyć aktualizację, bo nowsze wersje mają już naprawiony problem natywnie.</p>
</div>
				</div>
				</div>
					</div>
				</div>
				</div><p></p>]]></content:encoded>
					
					<wfw:commentRss>https://sklep.kobietakoduje.pl/prestashop-creative-elements-jak-naprawic-niedzialajacy-modal-koszyka-bez-aktualizacji-modulu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Jak edytować moduł Block Reassurance w PrestaShop 8.2</title>
		<link>https://sklep.kobietakoduje.pl/jak-edytowac-modul-block-reassurance-w-prestashop-8-2/</link>
					<comments>https://sklep.kobietakoduje.pl/jak-edytowac-modul-block-reassurance-w-prestashop-8-2/#respond</comments>
		
		<dc:creator><![CDATA[kobieta koduje]]></dc:creator>
		<pubDate>Thu, 04 Sep 2025 11:25:41 +0000</pubDate>
				<category><![CDATA[SEM/SEO]]></category>
		<guid isPermaLink="false">https://kobietakoduje.pl/?p=7841</guid>

					<description><![CDATA[<p>W poradniku pokazuję, gdzie znaleźć moduł w panelu, jak zmienić linkowanie, podmienić ikonki oraz jak bezpiecznie edytować CSS. Instrukcja dotyczy PrestaShop 8.2 i motywu Classic (lub motywu potomnego — „child theme”). Gdzie znaleźć moduł w panelu Edycja linkowania Wgrywanie nowych ikonek/obrazków Edycja CSS (układ i wygląd) Czyszczenie cache po zmianach Pozycje (hooki) — gdy moduł [&#8230;]</p>
<p></p>]]></description>
										<content:encoded><![CDATA[<div data-elementor-type="wp-post" data-elementor-id="7841" class="elementor elementor-7841" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-9fe5dc6 e-flex e-con-boxed e-con e-parent" data-id="9fe5dc6" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-d1e586f elementor-widget elementor-widget-html" data-id="d1e586f" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<article>
  <header>

    <p>W poradniku pokazuję, gdzie znaleźć moduł w panelu, jak zmienić linkowanie, podmienić ikonki oraz jak bezpiecznie edytować CSS. Instrukcja dotyczy PrestaShop <strong>8.2</strong> i motywu <strong>Classic</strong> (lub motywu potomnego — „child theme”).</p>
  </header>

  <nav aria-label="Spis treści">
    <ol>
      <li><a href="#gdzie-znalezc-modul">Gdzie znaleźć moduł w panelu</a></li>
      <li><a href="#edycja-linkow">Edycja linkowania</a></li>
      <li><a href="#podmiana-ikon">Wgrywanie nowych ikonek/obrazków</a></li>
      <li><a href="#edycja-css">Edycja CSS (układ i wygląd)</a></li>
      <li><a href="#czyszczenie-cache">Czyszczenie cache po zmianach</a></li>
      <li><a href="#pozycje-hooki">Pozycje (hooki) — gdy moduł nie wyświetla się we właściwym miejscu</a></li>
      <li><a href="#uwagi-wersje">Uwagi dot. wersji i motywu</a></li>
    </ol>
  </nav>

  <section id="gdzie-znalezc-modul">
    <h2>1) Gdzie znaleźć moduł w panelu</h2>
    <ol>
      <li>Przejdź do <strong>Moduły → Menedżer modułów</strong>.</li>
      <li>W wyszukiwarce wpisz: <strong>block reassurance</strong> lub <strong>Gwarancje zakupowe</strong>.</li>
      <li>Kliknij <strong>Konfiguruj</strong>, aby otworzyć listę elementów (ikona + tytuł + opis + link).</li>
    </ol>
    <p>To tutaj dodasz nowe pozycje, zmienisz ich kolejność i edytujesz istniejące.</p>
  </section>

  <section id="edycja-linkow">
    <h2>2) Edycja linkowania</h2>
    <ol>
      <li>Na liście kliknij wybrany element (np. „Regulamin”).</li>
      <li>W polu <strong>URL</strong> wklej właściwy adres (np. <code>/regulamin</code>, <code>/dostawa</code>, <code>/zwroty</code>).</li>
      <li>Zapisz zmiany przyciskiem <strong>Zapisz</strong>.</li>
    </ol>
    <p>Po zapisaniu kliknięcie w element przeniesie klienta bezpośrednio na Twoją stronę z informacją.</p>
  </section>

  <section id="podmiana-ikon">
    <h2>3) Wgrywanie nowych ikonek/obrazków</h2>
    <ol>
      <li>W edycji elementu wybierz sekcję z obrazkiem.</li>
      <li>Kliknij <strong>Dodaj plik</strong> i wgraj ikonę (rekomendowane: <strong>SVG</strong>; alternatywnie <strong>PNG</strong>).</li>
      <li>Zapisz zmiany.</li>
    </ol>
    <p>Własne ikony pozwalają zachować spójność z identyfikacją wizualną sklepu. Dla bitmap (PNG) używaj plików lekkich i w rozmiarze zbliżonym do docelowego (np. 32–48&nbsp;px wysokości), aby nie obciążać strony.</p>
  </section>

  <section id="edycja-css">
    <h2>4) Edycja CSS (układ i wygląd)</h2>
    <p>W motywie <strong>Classic</strong> najwygodniej umieścić własne style w pliku:</p>
    <pre><code>/themes/classic/assets/css/custom.css</code></pre>
    <p>Jeśli używasz motywu potomnego (zalecane przy większych zmianach), ścieżka będzie analogiczna w katalogu child theme. Alternatywnie możesz dopisywać reguły bezpośrednio do:</p>
    <pre><code>/modules/blockreassurance/views/css/front.css</code></pre>
    <p>Jednak modyfikacje w folderze modułu mogą zostać nadpisane przy aktualizacjach — dlatego lepiej używać <strong>custom.css</strong> w motywie.</p>

    <h3>Gotowy CSS — 3 kolumny na desktopie, 2 na szerszych telefonach, 1 kolumna na małych telefonach</h3>
    <p>Poniższe reguły rozciągają ikony równomiernie w prawej kolumnie koszyka (PrestaShop 8.2 Classic), a na urządzeniach mobilnych ładnie je wyśrodkowują.</p>

    <pre><code>/* === BLOK PRODUKTU (koszyk) === */

/* Desktop: 3 równe kolumny na całą szerokość prawego bloku */
.blockreassurance_product {
  margin-top: 25px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 0;
  width: 100%;
  text-align: center;
  align-items: start;
  justify-items: center;
}

.blockreassurance_product &gt; div {
  display: flex;
  flex-direction: column;   /* ikona nad tytułem */
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  padding: 8px 0;
}

.blockreassurance_product .item-product {
  float: none !important;   /* dla pewności, by nic nie pływało */
  display: block;
  margin: 0 auto 6px;
  width: 35px;
  height: 35px;
  padding: 0;
}

.blockreassurance_product .item-product img,
.blockreassurance_product .item-product svg {
  width: 35px;
  height: 35px;
}

.blockreassurance_product p.block-title {
  display: block;
  line-height: 1.4;
  font-size: 14px;
  margin: 0;
  text-align: center;
}

/* Szerokie telefony (np. &ge; 480 px): 2 kolumny, wyśrodkowane */
@media (min-width: 480px) and (max-width: 575px) {
  .blockreassurance_product {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    justify-items: center;
  }
}

/* Małe telefony: 1 kolumna, wszystko wyśrodkowane */
@media (max-width: 479px) {
  .blockreassurance_product {
    grid-template-columns: 1fr;
    row-gap: 14px;
    justify-items: center;
    text-align: center;
  }

  .blockreassurance_product &gt; div {
    align-items: center;     /* ikona nad tekstem, centralnie */
  }

  .blockreassurance_product .item-product {
    margin: 0 0 6px 0;
  }
}
</code></pre>

    <p>Jeśli w Twoim motywie istnieją wcześniejsze style dla tego modułu, umieść powyższe reguły <strong>na końcu</strong> pliku <code>custom.css</code>, aby je nadpisać.</p>
  </section>

  <section id="czyszczenie-cache">
    <h2>5) Wyczyść cache po zmianach</h2>
    <ol>
      <li>Wejdź w <strong>Konfiguracja → Parametry zaawansowane → Wydajność</strong>.</li>
      <li>Kliknij <strong>Wyczyść pamięć podręczną</strong>.</li>
      <li>Odśwież sklep skrótem <strong>Ctrl + F5</strong> (twarde odświeżenie).</li>
    </ol>
  </section>

  <section id="pozycje-hooki">
    <h2>6) Pozycje (hooki) — gdy moduł nie wyświetla się we właściwym miejscu</h2>
    <p>Jeśli po instalacji moduł nie pojawia się tam, gdzie oczekujesz (np. w koszyku), sprawdź podpięcie w <strong>Wygląd → Pozycje</strong>. Wyszukaj „blockreassurance” i upewnij się, że jest przypięty do odpowiedniego hooka strony koszyka w Twoim motywie. W razie potrzeby użyj opcji „Przenieś” lub „Przełącz moduł do innego hooka”.</p>
  </section>

  <section id="uwagi-wersje">
    <h2>7) Uwagi dot. wersji i motywu</h2>
    <ul>
      <li>Instrukcja została przygotowana dla <strong>PrestaShop 8.2</strong> i motywu <strong>Classic</strong>. W motywach komercyjnych nazwy klas mogą się różnić — wtedy wklej CSS do <code>custom.css</code> i dopasuj selektory do struktury HTML motywu.</li>
      <li>Przy większych modyfikacjach rozważ utworzenie <strong>motywu potomnego (child theme)</strong>, aby aktualizacje nie nadpisywały Twoich zmian.</li>
    </ul>
  </section>

  <footer>
    <h2>Podsumowanie</h2>
    <p>Moduł „Gwarancje zakupowe” w PrestaShop 8.2 pozwala szybko komunikować korzyści: regulamin, dostawę i zwroty. W panelu edytujesz linki i ikony, a przez <code>custom.css</code> dopasowujesz układ. Zastosowany tu układ (3&nbsp;kolumny na desktopie, 2 na szerszych telefonach i 1 na małych) jest czytelny i estetyczny, a przede wszystkim — prosty do utrzymania.</p>
  </footer>
</article>
				</div>
				</div>
					</div>
				</div>
				</div><p></p>]]></content:encoded>
					
					<wfw:commentRss>https://sklep.kobietakoduje.pl/jak-edytowac-modul-block-reassurance-w-prestashop-8-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Jak naliczać koszt wysyłki co 6 produktów w WooCommerce – darmowe rozwiązanie bez wtyczek PRO</title>
		<link>https://sklep.kobietakoduje.pl/jak-naliczac-koszt-wysylki-co-6-produktow-w-woocommerce-darmowe-rozwiazanie-bez-wtyczek-pro/</link>
					<comments>https://sklep.kobietakoduje.pl/jak-naliczac-koszt-wysylki-co-6-produktow-w-woocommerce-darmowe-rozwiazanie-bez-wtyczek-pro/#respond</comments>
		
		<dc:creator><![CDATA[kobieta koduje]]></dc:creator>
		<pubDate>Tue, 05 Aug 2025 14:58:52 +0000</pubDate>
				<category><![CDATA[SEM/SEO]]></category>
		<guid isPermaLink="false">https://kobietakoduje.pl/?p=7828</guid>

					<description><![CDATA[<p>Jeśli sprzedajesz produkty w paczkach (np. 6 sztuk mięsa, kosmetyków czy innych artykułów), być może potrzebujesz, by za każde 6 sztuk naliczała się osobna przesyłka. Standardowo WooCommerce nie wspiera takiej funkcji, ale&#8230; można to rozwiązać prostym kawałkiem kodu PHP – bez konieczności kupowania płatnych wtyczek. W tym wpisie pokażę Ci krok po kroku, jak to [&#8230;]</p>
<p></p>]]></description>
										<content:encoded><![CDATA[<div data-elementor-type="wp-post" data-elementor-id="7828" class="elementor elementor-7828" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-0653ad1 e-flex e-con-boxed e-con e-parent" data-id="0653ad1" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-97ebce9 elementor-widget elementor-widget-text-editor" data-id="97ebce9" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Jeśli sprzedajesz produkty w paczkach (np. 6 sztuk mięsa, kosmetyków czy innych artykułów), być może potrzebujesz, by <strong>za każde 6 sztuk naliczała się osobna przesyłka</strong>. Standardowo WooCommerce nie wspiera takiej funkcji, ale&#8230; można to rozwiązać prostym <strong>kawałkiem kodu PHP</strong> – bez konieczności kupowania płatnych wtyczek.</p>

<p>W tym wpisie pokażę Ci krok po kroku, jak to zrobić.</p>

<hr>

<h2><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3af.png" alt="🎯" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Cel</h2>

<p>Za każde 6 produktów w koszyku:</p>
<ul>
  <li>ma zostać naliczony koszt <strong>jednej paczki</strong>,</li>
  <li>klient może wybrać spośród kilku przewoźników (np. InPost, Orlen),</li>
  <li>WooCommerce automatycznie przelicza koszt zależnie od liczby sztuk.</li>
</ul>

<hr>

<h2><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Jak to działa?</h2>

<p>Za pomocą prostego filtra PHP zliczamy wszystkie produkty w koszyku, dzielimy przez 6 i na tej podstawie mnożymy koszt przesyłki.</p>

<p>Na przykład:</p>
<ul>
  <li>6 sztuk = 1 paczka,</li>
  <li>7–12 sztuk = 2 paczki,</li>
  <li>13–18 sztuk = 3 paczki itd.</li>
</ul>

<hr>

<h2><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Krok 1: Przygotuj metody wysyłki</h2>

<p>Przejdź do:</p>
<p><strong>WooCommerce → Ustawienia → Wysyłka → Strefy wysyłki → np. „Polska”</strong></p>

<p>Dodaj 3 metody:</p>
<ul>
  <li>InPost Kurier – stawka ryczałtowa,</li>
  <li>InPost Paczkomat – stawka ryczałtowa,</li>
  <li>Orlen Paczka – stawka ryczałtowa.</li>
</ul>

<p>Wpisz dowolny koszt (np. 1 zł) – zostanie on nadpisany przez kod.</p>

<hr>

<h2><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9d1-200d-1f4bb.png" alt="🧑‍💻" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Krok 2: Dodaj kod PHP</h2>

<p>Najłatwiej zrobisz to za pomocą wtyczki <strong>Code Snippets</strong>. Po instalacji dodaj nowy snippet z następującym kodem:</p>

<pre><code>add_filter('woocommerce_package_rates', 'dynamic_shipping_per_6_items', 10, 2);

function dynamic_shipping_per_6_items($rates, $package) {
    $items_count = 0;

    // Zlicz ilość wszystkich sztuk produktów w koszyku
    foreach (WC()->cart->get_cart() as $cart_item) {
        $items_count += $cart_item['quantity'];
    }

    // Oblicz liczbę paczek (jedna paczka = 6 szt.)
    $packages = ceil($items_count / 6);

    // Stawki wysyłek za jedną paczkę – DOPASUJ DO SWOJEGO SKLEPU
    $base_costs = [
        'flat_rate:3' => 25.19,  // InPost Kurier
        'flat_rate:4' => 19.49,  // InPost Paczkomat
        'flat_rate:5' => 14.00,  // Orlen Paczka
    ];

    foreach ($rates as $rate_id => $rate) {
        if (isset($base_costs[$rate_id])) {
            $rates[$rate_id]->cost = $base_costs[$rate_id] * $packages;
        }
    }

    return $rates;
}</code></pre>

<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50e.png" alt="🔎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> WAŻNE:</strong> Zmienna <code>flat_rate:3</code> to przykładowy identyfikator metody wysyłki. Twój może być inny – sprawdź go według instrukcji poniżej.</p>

<hr>

<h2><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f575.png" alt="🕵" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Krok 3: Jak sprawdzić ID metod wysyłki?</h2>

<p>Dodaj tymczasowy kod do <strong>Code Snippets</strong>, by podejrzeć identyfikatory metod wysyłki na stronie koszyka:</p>

<pre><code>add_action('woocommerce_review_order_before_shipping', 'show_shipping_rate_ids_debug');
function show_shipping_rate_ids_debug() {
    $packages = WC()->shipping->get_packages();
    foreach ($packages as $package_id => $package) {
        foreach ($package['rates'] as $rate_id => $rate) {
            echo '&lt;p style="color:red;"&gt;Rate ID: ' . esc_html($rate_id) . ' (label: ' . esc_html($rate->get_label()) . ')&lt;/p&gt;';
        }
    }
}</code></pre>

<p>Po jego włączeniu, na stronie koszyka zobaczysz identyfikatory np.:</p>

<pre><code>Rate ID: flat_rate:3 (label: InPost Kurier)
Rate ID: flat_rate:4 (label: InPost Paczkomat)
Rate ID: flat_rate:5 (label: Orlen Paczka)</code></pre>

<p>Te wartości należy wkleić do <code>$base_costs[]</code> w głównym kodzie.</p>

<hr>

<h2><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9ea.png" alt="🧪" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Krok 4: Przetestuj działanie</h2>

<ul>
  <li>Dodaj 6 produktów do koszyka – powinien naliczyć jedną przesyłkę.</li>
  <li>Dodaj 7 – koszt przesyłki powinien wzrosnąć (bo to już 2 paczki).</li>
  <li>Klient może wybrać przewoźnika, a system policzy odpowiednią cenę.</li>
</ul>

<hr>

<h2><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f512.png" alt="🔒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> BONUS: Wtyczka Furgonetka.pl</h2>

<p>Jeśli korzystasz z integracji z Furgonetka.pl (lub podobnej), możesz nadal generować etykiety automatycznie – kod nie zaburza działania integracji, jedynie modyfikuje <strong>logikę naliczania kosztów wysyłki</strong>.</p>

<hr>

<h2><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Podsumowanie</h2>

<p>To rozwiązanie:</p>
<ul>
  <li>działa w 100% za darmo,</li>
  <li>nie wymaga płatnych wtyczek do wysyłki,</li>
  <li>jest w pełni elastyczne – możesz je łatwo zmodyfikować np. na 3 sztuki/paczkę, wagę itd.</li>
</ul>

<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Jeśli prowadzisz sklep z paczkowanymi zestawami produktów (np. delikatesy, catering, mięso, kosmetyki), ten prosty kod może znacznie ułatwić życie Tobie i klientom.</p>

<hr>

<p>Masz pytania lub potrzebujesz pomocy w dostosowaniu kodu do własnego sklepu? Napisz do mnie – chętnie pomogę <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4bb.png" alt="💻" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
								</div>
				</div>
					</div>
				</div>
				</div><p></p>]]></content:encoded>
					
					<wfw:commentRss>https://sklep.kobietakoduje.pl/jak-naliczac-koszt-wysylki-co-6-produktow-w-woocommerce-darmowe-rozwiazanie-bez-wtyczek-pro/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Jak wyświetlić pełną nazwę produktu na stronie kategorii w Prestashop 1.7?</title>
		<link>https://sklep.kobietakoduje.pl/jak-wyswietlic-pelna-nazwe-produktu-na-stronie-kategorii-w-prestashop-1-7/</link>
					<comments>https://sklep.kobietakoduje.pl/jak-wyswietlic-pelna-nazwe-produktu-na-stronie-kategorii-w-prestashop-1-7/#respond</comments>
		
		<dc:creator><![CDATA[kobieta koduje]]></dc:creator>
		<pubDate>Mon, 20 Mar 2023 17:29:32 +0000</pubDate>
				<category><![CDATA[Prestashop]]></category>
		<category><![CDATA[SEM/SEO]]></category>
		<category><![CDATA[Sklep internetowy]]></category>
		<guid isPermaLink="false">https://kobietakoduje.pl/?p=3804</guid>

					<description><![CDATA[<p>Prestashop domyślnie agreguje nam 30 znaków jeśli chodzi o nazwy produktów na podstronach kategorii, jeśli Twoje nazwy są rozbudowane i złożone z pewnością mają większą długość. Jeśli chcesz zwiększyć ilość znaków w nazwie produktu na stronie kategorii w oprogramowaniu prestashop, przejdź do pliku: /theme/templates/catalog/_partials/miniatures/product.tpl i odszukaj poniższy kod: &#60;a href="{$product.url}"&#62;{$product.name&#124;truncate:30:'...'}&#60;/a&#62; Zmieniamy w nim liczbę 30 [&#8230;]</p>
<p></p>]]></description>
										<content:encoded><![CDATA[<div data-elementor-type="wp-post" data-elementor-id="3804" class="elementor elementor-3804" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-25f4ee7 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="25f4ee7" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8a197ac" data-id="8a197ac" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-9045fa7 elementor-widget elementor-widget-text-editor" data-id="9045fa7" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Prestashop domyślnie agreguje nam 30 znaków jeśli chodzi o nazwy produktów na podstronach kategorii, jeśli Twoje nazwy są rozbudowane i złożone z pewnością mają większą długość. Jeśli chcesz zwiększyć ilość znaków w nazwie produktu na stronie kategorii w oprogramowaniu prestashop, przejdź do pliku: /theme/templates/catalog/_partials/miniatures/product.tpl i odszukaj poniższy kod:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-973eb67 elementor-widget elementor-widget-code-block-for-elementor" data-id="973eb67" data-element_type="widget" data-e-type="widget" data-widget_type="code-block-for-elementor.default">
				<div class="elementor-widget-container">
					<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-php'>&lt;a href=&quot;{$product.url}&quot;&gt;{$product.name|truncate:30:&#039;...&#039;}&lt;/a&gt;</code></pre>				</div>
				</div>
				<div class="elementor-element elementor-element-874fbb5 elementor-widget elementor-widget-text-editor" data-id="874fbb5" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Zmieniamy w nim liczbę 30 na dowolną ilość znaków, 90 powinno wystarczyć, ale wprowadź liczbę odpowiednią dla swojego projektu. Ta linia może w tym pliku pojawić się jeszcze kilka razy, zwróć uwagę aby w każdej z nich zmienić liczbę na nową. </p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div><p></p>]]></content:encoded>
					
					<wfw:commentRss>https://sklep.kobietakoduje.pl/jak-wyswietlic-pelna-nazwe-produktu-na-stronie-kategorii-w-prestashop-1-7/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Gdzie dodać kod analyticsa w prestashop?</title>
		<link>https://sklep.kobietakoduje.pl/gdzie-dodac-kod-analyticsa-w-prestashop/</link>
					<comments>https://sklep.kobietakoduje.pl/gdzie-dodac-kod-analyticsa-w-prestashop/#respond</comments>
		
		<dc:creator><![CDATA[kobieta koduje]]></dc:creator>
		<pubDate>Fri, 01 Apr 2022 20:11:38 +0000</pubDate>
				<category><![CDATA[SEM/SEO]]></category>
		<guid isPermaLink="false">https://kobietakoduje.pl/?p=3297</guid>

					<description><![CDATA[<p>Odnajdź ścieżkę themesclassictemplateslayoutslayout-both-columns.tpl i odszukaj znacznik zamykający &#60;/head&#62; tuż przed nim dodaj: {literal} &#60;!-- Global site tag (gtag.js) - Google Analytics --&#62; Tu dodaj sw&#243;j skrypt z google analytics &#60;!-- Google Tag Manager --&#62; Tu wpisz sw&#243;j skrypt GTM 1 &#60;!-- End Google Tag Manager --&#62; {/literal} Następnie odszukaj znacznik &#60;body id=&#34;{$page.page_name}&#34; class=&#34;{$page.body_classes&#124;classnames}&#34;&#62; I tuż [&#8230;]</p>
<p></p>]]></description>
										<content:encoded><![CDATA[<div data-elementor-type="wp-post" data-elementor-id="3297" class="elementor elementor-3297" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-1a7fc35 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1a7fc35" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-dac743d" data-id="dac743d" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c1a4c57 elementor-widget elementor-widget-text-editor" data-id="c1a4c57" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Odnajdź ścieżkę <strong>themes\classic\templates\layouts\layout-both-columns.tpl</strong> i odszukaj znacznik zamykający</p>								</div>
				</div>
				<div class="elementor-element elementor-element-60831f8 elementor-widget elementor-widget-code-block-for-elementor" data-id="60831f8" data-element_type="widget" data-e-type="widget" data-widget_type="code-block-for-elementor.default">
				<div class="elementor-widget-container">
					<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-javascript'>&lt;/head&gt;</code></pre>				</div>
				</div>
				<div class="elementor-element elementor-element-c78a312 elementor-widget elementor-widget-text-editor" data-id="c78a312" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									 tuż przed nim dodaj:								</div>
				</div>
				<div class="elementor-element elementor-element-f0d37ec elementor-widget elementor-widget-code-block-for-elementor" data-id="f0d37ec" data-element_type="widget" data-e-type="widget" data-widget_type="code-block-for-elementor.default">
				<div class="elementor-widget-container">
					<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-javascript'>{literal}
&lt;!-- Global site tag (gtag.js) - Google Analytics --&gt;
Tu dodaj sw&oacute;j skrypt z google analytics

&lt;!-- Google Tag Manager --&gt;
Tu wpisz sw&oacute;j skrypt GTM 1
&lt;!-- End Google Tag Manager --&gt;
{/literal}
</code></pre>				</div>
				</div>
				<div class="elementor-element elementor-element-53429cc elementor-widget elementor-widget-text-editor" data-id="53429cc" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Następnie odszukaj znacznik</p>								</div>
				</div>
				<div class="elementor-element elementor-element-d7a5407 elementor-widget elementor-widget-code-block-for-elementor" data-id="d7a5407" data-element_type="widget" data-e-type="widget" data-widget_type="code-block-for-elementor.default">
				<div class="elementor-widget-container">
					<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-javascript'>&lt;body id=&quot;{$page.page_name}&quot; class=&quot;{$page.body_classes|classnames}&quot;&gt;</code></pre>				</div>
				</div>
				<div class="elementor-element elementor-element-3bbe873 elementor-widget elementor-widget-text-editor" data-id="3bbe873" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>I tuż za nim dodaj:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-2883f1a elementor-widget elementor-widget-code-block-for-elementor" data-id="2883f1a" data-element_type="widget" data-e-type="widget" data-widget_type="code-block-for-elementor.default">
				<div class="elementor-widget-container">
					<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-javascript'>&lt;!-- Google Tag Manager (noscript) --&gt;
Tw&oacute;j dalszy kod GTM 2
&lt;!-- End Google Tag Manager (noscript) --&gt;</code></pre>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div><p></p>]]></content:encoded>
					
					<wfw:commentRss>https://sklep.kobietakoduje.pl/gdzie-dodac-kod-analyticsa-w-prestashop/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Jak przyśpieszyć stronę w wordpress?</title>
		<link>https://sklep.kobietakoduje.pl/jak-przyspieszyc-strone-w-wordpress/</link>
					<comments>https://sklep.kobietakoduje.pl/jak-przyspieszyc-strone-w-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[kobieta koduje]]></dc:creator>
		<pubDate>Mon, 07 Feb 2022 19:58:59 +0000</pubDate>
				<category><![CDATA[SEM/SEO]]></category>
		<category><![CDATA[Sklep internetowy]]></category>
		<category><![CDATA[Strona www]]></category>
		<category><![CDATA[Woocommerce]]></category>
		<category><![CDATA[Wordpress www]]></category>
		<guid isPermaLink="false">https://kobietakoduje.pl/?p=3212</guid>

					<description><![CDATA[<p>Uaktualnij do PHP 7.4 Witryny oparte o WooCommerce powinny zawsze działać w szybkiej wersji PHP (w tym momencie stabilną wersją jest PHP 7.4), którą możesz zaktualizować na swoim serwerze. Większość użytkowników WordPressa korzysta z przestarzałych wersji PHP co znacznie obniża prędkość działania strony. Zoptymalizuj obrazki Zdjęcia na Twojej stronie powinny być jak najlżejsze. Zważ również [&#8230;]</p>
<p></p>]]></description>
										<content:encoded><![CDATA[<div data-elementor-type="wp-post" data-elementor-id="3212" class="elementor elementor-3212" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-cb46b5f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="cb46b5f" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c2fe8e1" data-id="c2fe8e1" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-877e35e elementor-widget elementor-widget-heading" data-id="877e35e" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Uaktualnij do PHP 7.4</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-800cb39 elementor-widget elementor-widget-text-editor" data-id="800cb39" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Witryny oparte o WooCommerce powinny zawsze działać w szybkiej wersji PHP (w tym momencie stabilną wersją jest PHP 7.4), którą możesz zaktualizować na swoim serwerze. Większość użytkowników WordPressa korzysta z przestarzałych wersji PHP co znacznie obniża prędkość działania strony.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-9cfe118 elementor-widget elementor-widget-heading" data-id="9cfe118" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Zoptymalizuj obrazki</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-32ef7d3 elementor-widget elementor-widget-text-editor" data-id="32ef7d3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Zdjęcia na Twojej stronie powinny być jak najlżejsze. Zważ również na to, że czasem aby logo miało wysoką jakość, ale niską wagę warto zapisać je w formacie svg. Ja do optymalizacji zdjęć używam bezstratnej kompresji <a href="http://optimizilla.com/">optimizilla.com</a>. Czasem jednak warto zoptymalizować zdjęcia dodatkowo. Spróbuj wtyczki <a href="https://pl.wordpress.org/plugins/wp-smushit/">Smush</a>.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-ef8bc50 elementor-widget elementor-widget-heading" data-id="ef8bc50" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Usuń nadużywanie WooCommerce</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-3155ce3 elementor-widget elementor-widget-text-editor" data-id="3155ce3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Możesz to zrobić za pomocą wtyczki <a href="https://wordpress.org/plugins/disable-dashboard-for-woocommerce/">Disable WooCommerce Bloat </a>wyłącz skrypty i style WooCommerce w treściach innych niż eCommerce, ponieważ nie trzeba ładować ich na każdej stronie, są one potrzebne tylko do obsługi zakupów. Dzięki tej wtyczce wyłączysz też śmieci WooCommerce w administratorze – widżety, analizy, powiadomienia, statusy itp.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-f37c607 elementor-widget elementor-widget-heading" data-id="f37c607" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Skonfiguruj wtyczkę do czyszczenia pamięci podręcznej</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-1d40dab elementor-widget elementor-widget-text-editor" data-id="1d40dab" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Istnieje wiele wtyczek które wyczyszczą podręczną pamięć zapisaną w Twojej witrynie:<br />WP Rocket<br />WP Fastest Cache<br />WP-Optimize<br />WP Super Cache<br /><strong>W3 Total Cache</strong><br />Ja polecam tę ostatnią ponieważ pozwala ona również na konfigurację innych opcji, które mają bardzo duży wpływ na prędkość wczytywania się Twojej strony internetowej. Warto pamiętać aby zmiany wprowadzać sukcesywnie i bardzo ostrożnie. Ja po każdej wykonanej zmianie sprawdzam prędkość w przeglądarce (zakładka network) i w Gtmetrix, tak więc proszę pamietaj o tym aby zmian dokonywać krok po kroku, gdyż niektóre zmiany mogą skutkować nawet zwolnieniem Twojej witryny. Zdjęcia ekranu konkretnych ustawień po kolei znajdziesz klikając <a href="https://kobietakoduje.pl/wp-content/uploads/kk/optymalizacjaw3.pdf" target="_blank" rel="noopener">tutaj</a>.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-69e5a39 elementor-widget elementor-widget-heading" data-id="69e5a39" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Usuń śmieci ze swojej bazy danych - WP Clean Up</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-9e5b3f2 elementor-widget elementor-widget-text-editor" data-id="9e5b3f2" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Prawdopodobnie na Twojej stronie znajdujących się niepotrzebne, przeterminowane treści. Jeśli dodano jakąś stronę, wpis, grafikę lub wtyczkę, a potem ją usunięto, zapis o niej w bazie danych nadal tam jest. Możesz więc usunąć te wszystkie zbędne dane, komentarze, osierocone pliki meta, postmeta i inne.
								</div>
				</div>
				<div class="elementor-element elementor-element-9c3701b elementor-widget elementor-widget-heading" data-id="9c3701b" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Blokuj złe boty</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-b106526 elementor-widget elementor-widget-text-editor" data-id="b106526" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Złe boty potrafią uprzykrzyć nam życie. Mogą tworzyć fałszywe konta, dodawać spamerskie komentarze i generalnie zakłócać wszystkie funkcjonalności Twojej witryny na WordPress. Mają wpływ na wolne wczytywanie się strony, a sam wordpress jest oprogramowaniem podatnym na tego typu ataki.</p><p>Aby ochronić się przed złymi botami polecam wtyczkę iThemes Security, która pozwala chronić Twoją tożsamość i powstrzymuje złośliwe zachowania. Po odpowiedniej konfiguracji tej wtyczki dostaniesz ostrzeżenie przy wykryciu kolejnej aktywności dot. naruszenia.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-f4a02f3 elementor-widget elementor-widget-heading" data-id="f4a02f3" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Wyłącz bicie serca</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-0fdd7ef elementor-widget elementor-widget-text-editor" data-id="0fdd7ef" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>WordPress co 15-60 sekund generuje żądania i wyświetla powiadomienia o wtyczkach w czasie rzeczywistym, dostarcza on informacji o edytowanych postach przez innych użytkowników. Aby wyłączyć bicie serca, dodaj ten kod do plicu functions.php w swoim szablonie:</p><pre>add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}
</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-173b1d9 elementor-widget elementor-widget-heading" data-id="173b1d9" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Zoptymalizuj czcionki Google</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-24a4bf8 elementor-widget elementor-widget-text-editor" data-id="24a4bf8" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Istnieje kilka sposobów na optymalizację czcionek. Zwróć uwagę na to by ograniczyć liczbę czcionek, grubości i ikon wczytywanych w Twojej witrynie. Najlepiej hostuj je lokalnie i upewnij, się że tekst pozostaje widoczny podczas ładowania czcionek internetowych za pomocą WP Rocket lub wtyczki Swap Google Fonts Display.
								</div>
				</div>
				<div class="elementor-element elementor-element-7ac356b elementor-widget elementor-widget-heading" data-id="7ac356b" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Zmniejsz TTFB dzięki szybszemu hostingowi</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-99b64df elementor-widget elementor-widget-text-editor" data-id="99b64df" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Aby zmniejszyć czas odpowiedzi serwera zastanów się nad migracją na szybszy, bardziej wydajny hosting – np.z szybszym łączem o mocniejszym CPU i większej ilości RAMu. Pamiętaj, że lokalizacja geograficzna serwera powinna być najbliżej Twoich docelowych użytkowników – warto przy tym zadbać aby serwer HTTP, Back-End i bazy danych były umieszczone w tym samym centrum danych. Aby zbadać TTFB w opcjach przeglądarki internetowej wybierz zakładkę Netwotk (w przeglądarce Chrome – klawisz F12). 
								</div>
				</div>
				<div class="elementor-element elementor-element-bf607a9 elementor-widget elementor-widget-heading" data-id="bf607a9" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Unikaj instalowania wtyczek
</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-97c62bd elementor-widget elementor-widget-text-editor" data-id="97c62bd" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Zbyt duża ilość wtyczek powoduje wolne randerowanie się strony. Spowodowane jest to faktem, że każdy dodatkowy moduł ładuje swoje dodatkowe skrypty i zwiększa używanie zasobów serwera.Dodatkowo wzmagasz w ten sposób potencjał ataków na Twoją witrynę, ponieważ, każda dodatkow wtyczka, która nie jest aktualizowana, może stanowić zagrożenie dla Twojej witryny.
								</div>
				</div>
				<div class="elementor-element elementor-element-f41bac7 elementor-widget elementor-widget-heading" data-id="f41bac7" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Zmień adres logowania się do swojej witryny</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-20b5217 elementor-widget elementor-widget-text-editor" data-id="20b5217" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Złe boty będą próbowały uzyskać dostęp do Twojego panelu logowania wp &#8211; powoduje to niepotrzebne zjadanie zasobów serwera. Aby zabezpieczyć się przed niechcianym obciążeniem dodaj i skonfiguruj wtyczkę <strong>Hide My WP.</strong></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div><p></p>]]></content:encoded>
					
					<wfw:commentRss>https://sklep.kobietakoduje.pl/jak-przyspieszyc-strone-w-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Jak zmienić poziom powiększenia produktu w woocomerce?</title>
		<link>https://sklep.kobietakoduje.pl/jak-zmienic-poziom-powiekszenia-produktu-w-woocomerce/</link>
					<comments>https://sklep.kobietakoduje.pl/jak-zmienic-poziom-powiekszenia-produktu-w-woocomerce/#respond</comments>
		
		<dc:creator><![CDATA[kobieta koduje]]></dc:creator>
		<pubDate>Thu, 13 Jan 2022 17:27:13 +0000</pubDate>
				<category><![CDATA[SEM/SEO]]></category>
		<guid isPermaLink="false">https://kobietakoduje.pl/?p=3056</guid>

					<description><![CDATA[<p>Aby zmienić poziom powiększenia zdjęcia na stronie produktowej woocommerce należy dodać hak z filtrem woocommerce_single_product_zoom_options w plicku functions.php Skalę powiększenia ustawiamy tam gdzie jest 0.7, domyślne powiększenie to 1. add_filter( 'woocommerce_single_product_zoom_options', 'custom_single_product_zoom_options' ); function custom_single_product_zoom_options( $zoom_options ) { // Changing the magnification level: $zoom_options['magnify'] = 0.7; return $zoom_options; }</p>
<p></p>]]></description>
										<content:encoded><![CDATA[<div data-elementor-type="wp-post" data-elementor-id="3056" class="elementor elementor-3056" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-f7fda07 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="f7fda07" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f0e599d" data-id="f0e599d" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-ba86d47 elementor-widget elementor-widget-text-editor" data-id="ba86d47" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Aby zmienić poziom powiększenia zdjęcia na stronie produktowej woocommerce należy dodać hak z filtrem woocommerce_single_product_zoom_options w plicku functions.php Skalę powiększenia ustawiamy tam gdzie jest 0.7, domyślne powiększenie to 1.</p><pre>add_filter( 'woocommerce_single_product_zoom_options', 'custom_single_product_zoom_options' );
function custom_single_product_zoom_options( $zoom_options ) {
    // Changing the magnification level:
    $zoom_options['magnify'] = 0.7;

    return $zoom_options;
}</pre>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div><p></p>]]></content:encoded>
					
					<wfw:commentRss>https://sklep.kobietakoduje.pl/jak-zmienic-poziom-powiekszenia-produktu-w-woocomerce/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Wyklucz ruch własny ze statystyk</title>
		<link>https://sklep.kobietakoduje.pl/wyklucz-ruch-wlasny-ze-statystyk/</link>
					<comments>https://sklep.kobietakoduje.pl/wyklucz-ruch-wlasny-ze-statystyk/#respond</comments>
		
		<dc:creator><![CDATA[kobieta koduje]]></dc:creator>
		<pubDate>Tue, 03 Dec 2019 13:23:35 +0000</pubDate>
				<category><![CDATA[SEM/SEO]]></category>
		<guid isPermaLink="false">https://kobietakoduje.pl/?p=945</guid>

					<description><![CDATA[<p>W Analytics&#8217;ie Co robimy po koleji? Dodajemy poniższy skrypt między znacznikami nagłówka strony &#60;head&#62; &#60;/head&#62; nad skryptem śledzenia analytics zmieniając adres witryny na swój, nie zapomnij, że poniższy skrypt należy wziąć w klamry &#60;script&#62; &#60;/script&#62; if(location.search.indexOf("doNotTrack")!=-1){var expires = new Date(Date.now()+1000*3600*24*365*10);document.cookie = "doNotTrack=1; expires="+expires+";domain=.adreswitryny.com; path=/"; Kolejno edytujesz swój wcześniej dodany skrypt śledzenia analytics poprzez objęcie go [&#8230;]</p>
<p></p>]]></description>
										<content:encoded><![CDATA[<div data-elementor-type="wp-post" data-elementor-id="945" class="elementor elementor-945" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-4fb9859 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="4fb9859" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-10753af" data-id="10753af" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-b57e8dd elementor-widget elementor-widget-heading" data-id="b57e8dd" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">W Analytics'ie</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-4cdbfb3 elementor-widget elementor-widget-text-editor" data-id="4cdbfb3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Co robimy po koleji?<br />Dodajemy poniższy skrypt między znacznikami nagłówka strony &lt;head&gt; &lt;/head&gt; nad skryptem śledzenia analytics zmieniając adres witryny na swój, nie zapomnij, że poniższy skrypt należy wziąć w klamry &lt;script&gt; &lt;/script&gt;</p><pre>if(location.search.indexOf("doNotTrack")!=-1){var expires = new Date(Date.now()+1000*3600*24*365*10);document.cookie = "doNotTrack=1; expires="+expires+";domain=.<span style="color: #ff0000;">adreswitryny.com; path=/";
</span></pre><p>Kolejno edytujesz swój wcześniej dodany skrypt śledzenia analytics poprzez objęcie go w klamrę if:</p><pre>if(document.cookie.indexOf("doNotTrack")==-1){
    //tutaj wstawiamy kod śledzący Google Analytics
}</pre>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div><p></p>]]></content:encoded>
					
					<wfw:commentRss>https://sklep.kobietakoduje.pl/wyklucz-ruch-wlasny-ze-statystyk/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Fatal Error: Allowed memory size of xxxxxx bytes exhausted</title>
		<link>https://sklep.kobietakoduje.pl/fatal-error-allowed-memory-size-of-xxxxxx-bytes-exhausted/</link>
		
		<dc:creator><![CDATA[kobieta koduje]]></dc:creator>
		<pubDate>Fri, 03 May 2019 15:11:24 +0000</pubDate>
				<category><![CDATA[SEM/SEO]]></category>
		<category><![CDATA[Wordpress www]]></category>
		<guid isPermaLink="false">http://localhost/wordpress/pixgraphy/?p=39</guid>

					<description><![CDATA[<p>Wiele zakupionych szablonów do wordpressa wymusza większą pamięć na aplikacji, jeśli limit nie zostanie zwiększony, szablon nie zacznie działać, a często w oknie naszej przeglądarki zobaczymy komunikat: &#8222;Fatal Error: Allowed memory size of xxxxxx bytes exhausted”. Jak poradzić sobie z tym problemem i jak zwiększyć przydział pamięci dla naszego wordpressa? 1.WP-CONFIG.PHP Zacznijmy od pliku wp-config.php, [&#8230;]</p>
<p></p>]]></description>
										<content:encoded><![CDATA[<div data-elementor-type="wp-post" data-elementor-id="39" class="elementor elementor-39" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-28f55b09 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="28f55b09" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-67d81a08" data-id="67d81a08" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-92436c5 elementor-widget elementor-widget-text-editor" data-id="92436c5" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Wiele zakupionych szablonów do wordpressa wymusza większą pamięć na aplikacji, jeśli limit nie zostanie zwiększony, szablon nie zacznie działać, a często w oknie naszej przeglądarki zobaczymy komunikat: &#8222;Fatal Error: Allowed memory size of xxxxxx bytes exhausted”.</p><p>Jak poradzić sobie z tym problemem i jak zwiększyć przydział pamięci dla naszego wordpressa?</p><p><strong>1.WP-CONFIG.PHP</strong></p><p>Zacznijmy od pliku wp-config.php, należy odnaleźć go na naszym serwerze FTP, edytować go i dodać zapis:</p><p><em>define( ‚WP_MEMORY_LIMIT’, ’128M’ );</em></p><p><strong>2. .HTACCESS</strong></p><p>Jeśli rozwiązanie to nie pomogło, należy edytować plik .htaccess który znajduje się w głównym folderze naszego wordpressa. Na końcu pliku należy dodać poniższą linijkę z ustalonym limitem pamięci</p><p><em><code>php_value memory_limit 128M</code></em></p><p><strong>3. PHP.INI</strong></p><p>Kolejnym rozwiązaniem problemu może być odnalezienie pliku php.ini i modernizacja go, w tym celu tworzymy w głównym folderze plik o nazwie test.php i umieszczamy w nim taką treść:</p><pre><em>&lt;?php phpinfo(); ?&gt;</em></pre><p>Następnie wchodzimy na naszą stronę www.twojastrona.pl/test.php i odszukujemy rubrykę o nazwie &#8222;Configuration File (php.ini) Path &#8221; i właśnie w tym miejscu mamy informację gdzie mamy szukać pliku php.ini, przechodzimy do lokalizacji.<br /><img decoding="async" src="https://kobietakoduje.pl/wp-content/uploads/2019/08/php.png" alt="php ini" width="569" height="29" /></p><p>Edytujemy plik php.ini i umieszczamy w nim następujący kod:</p><p><strong>upload_max_filesize = 128M</strong><br /><strong> post_max_size = 128M</strong><br /><strong> max_execution_time = 300</strong></p><p>Powyżej przedstawione zmiany powinny pomóc rozwiązać problem zbyt małej pamięci wordpress&#8217;a, jeśli Twój problem nie został rozwiązany mimo postępowania zgodnie z instrukcją, zalecamy kontakt z dostawcą serwera.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div><p></p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Lazy Loading (feed)
Database Caching 2/139 queries in 0.119 seconds using Disk

Served from: sklep.kobietakoduje.pl @ 2026-10-04 15:36:09 by W3 Total Cache
-->