wPHP - wordpress, woocommerce - kodowanie bez wtyczek
WordPress - zakoduj to sam w PHP

Jak przyspieszyć stronę wyłączając odświeżanie koszyka woocoomerce

Grzegorz Chodacki31 marca 2022optymalizacja, woocommerce wc-ajax, woocommerce_cart_fragments

Bardzo często zdarza się, że nasza strona z woocommerce działa wolno. Narzędzia do testowania prędkości typu GTMetrix, często pokazują, że wpływ na prędkość ładowania strony może mieć skrypt wc-ajax=get_refreshed_fragments. Generuje on opóźnienia i obciążenie serwera. Do czego jest on potrzebny, czy jest potrzebny i jak go wyłączyć?

Co to są te fragmenty koszyka Ajax Wocommerce

Ajax ( AJAX = Asynchronous JavaScript And XML ) to technika, która w skrócie umożliwia uruchamianie funkcji bez odświeżania stron internetowych.

Za pomocą tej funkcjonalności na stronie sklepu WooCommerce możesz dodawać produkty do koszyka (i aktualizować koszyk) bez wymuszania ponownego ładowania strony; Ajax działa w tle i komunikuje się z serwerem „asynchronicznie”.

A teraz czym są fragmenty koszyka Ajax WooCommerce i co reprezentuje adres URL „ /?wc-ajax=get_refreshed_fragments ”.

Krótko mówiąc, nawet na małych sklepach, WooCommerce próbuje „uzyskać” szczegóły koszyka, aby mógł być gotowy do „przeliczenia” wartości zakupów za każdym razem, gdy coś jest zrobione (lub nie zrobione!) na danej stronie WordPress.

Dzięki temu WooCommerce może aktualizować widżet koszyka i natychmiast „słuchać” dowolnego zdarzenia, które może wymagać aktualizacji koszyka (np. wciśnięcie guzika dodaj do koszyka).

Zasadniczo WooCommerce wywołuje „ /?wc-ajax=get_refreshed_fragments ” w celu asynchronicznej aktualizacji pozycji koszyka i sumy koszyka, tj. bez konieczności odświeżania odwiedzanej strony internetowej.

Ajax z punktu widzenia programistycznego jest świetnym rozwiązaniem, jednak przez to, że cały czas działa w tle może powodować spadek wydajności i konflikt wtyczek WordPressa.

Jak wyłączyć fragmentację koszyka na stronie głównej

Aby zaktualizować koszyk na każdej stronie witryny, WooCommerce uruchamia funkcję Ajax za każdym razem. Nawet na stronach blogowych, kontaktowej czy na stronie głównej.

Jeśli nasz motyw nie zawiera rozwijanego widżetu koszyka WooCommerce i jeśli nie mamy produktów, które można dodać do koszyka na określonej stronie internetowej, lepiej usunąć całą funkcjonalność Ajax.

Co więcej, jeśli wybierzesz w ustawieniach WooCommerce przekierowanie użytkowników do Koszyka po dodaniu dowolnego produktu do Koszyka, zdecydowanie wymuszasz przekierowanie strony (do strony Koszyk), więc posiadanie aktywnych fragmentów koszyka Ajax jest zupełnie bezcelowe.

add_action( 'wp_enqueue_scripts', 'wylacz_woocommerce_cart_fragments', 11);
function wylacz_woocommerce_cart_fragments() { 
if (is_front_page()) wp_dequeue_script('wc-cart-fragments'); 
}

Jak wyłączyć fragmentację koszyka na stronie głównej i w postach

add_action( 'wp_enqueue_scripts', 'dequeue_woocommerce_cart_fragments', 11);
function dequeue_woocommerce_cart_fragments() {
if (is_front_page() || is_single() ) wp_dequeue_script('wc-cart-fragments');
}

Wyłączanie wszystkich stylów i skryptów WooCommerce w całej witrynie (poza stronami sklepowymi)

add_action( 'wp_enqueue_scripts', 'dequeue_woocommerce_styles_scripts', 99 );
function dequeue_woocommerce_styles_scripts() {
if ( function_exists( 'is_woocommerce' ) ) {
if ( ! is_woocommerce() && ! is_cart() &&! is_checkout() ) {
# Styles
wp_dequeue_style( 'woocommerce-general' );
wp_dequeue_style( 'woocommerce-layout' );
wp_dequeue_style( 'woocommerce-smallscreen' );
wp_dequeue_style( 'woocommerce_frontend_styles' );
wp_dequeue_style( 'woocommerce_fancybox_styles' );
wp_dequeue_style( 'woocommerce_chosen_styles' );
wp_dequeue_style( 'woocommerce_prettyPhoto_css' );
# Scripts
wp_dequeue_script( 'wc_price_slider' );
wp_dequeue_script( 'wc-single-product' );
wp_dequeue_script( 'wc-add-to-cart' );
wp_dequeue_script( 'wc-cart-fragments' );
wp_dequeue_script( 'wc-checkout' );
wp_dequeue_script( 'wc-add-to-cart-variation' );
wp_dequeue_script( 'wc-single-product' );
wp_dequeue_script( 'wc-cart' );
wp_dequeue_script( 'wc-chosen' );
wp_dequeue_script( 'woocommerce' );
wp_dequeue_script( 'prettyPhoto' );
wp_dequeue_script( 'prettyPhoto-init' );
wp_dequeue_script( 'jquery-blockui' );
wp_dequeue_script( 'jquery-placeholder' );
wp_dequeue_script( 'fancybox' );
wp_dequeue_script( 'jqueryui' );
}
}
}
 
Dodanie niestandardowych pól do produktu WooCoomerce Related product – produkty podobne w woocommerce

Related Posts

layout, woocommerce

Wyszukiwanie postów tylko po tytułach

Temat wydawał się dość prosty, a jednak zajął mi trochę czasu. Wujek Google wcale nie jest tak łaskawy w odpowiedzi na pytanie co zrobić aby wyniki wyszukiwania w wordpress obejmowały jedynie szukanie po tytułach postów (produktów) a nie po całej treści (opisie).

layout, woocommerce

Dodanie niestandardowych pól do produktu WooCoomerce

Zagadnienie dotyczy innego podejścia niż przy poprzednim wpisie. Poprzednio dla produktów prostych i produktów z wariantami wyliczana była cena za 1m2 na podstawie wymiarów produktu po czym wyświetlana na karcie produktu. Tym razem dodamy dodatkowe pola od strony zaplecza, tj. cenę (pole input) oraz jednostkę (pole wyboru select). Trudność polega na tym, że w zależności […]

woocommerce

Wyliczenie ceny produktu za 1m2 dla danej kategorii produktów

Zagadnienie dotyczy produktów zarówno prostych jak i produktów z wariantami. Klient zażyczył sobie, aby dla danej kategorii produktów wyliczyć ceny za 1m2 i wyświetlić jako dodatkową informację na karcie produktu.  Produkty danej kategorii mają różne wymiary i sprzedawane są w paczkach tj. po kilkanaście sztuk w paczce. Pierwszym krokiem rozwiązania było postawienie warunku czy dany […]

Ostatnie wpisy

  • Jak wyłączyć odzyskiwanie hasła
  • Pobieranie aktualnego kursu walut przez API NBP
  • Poczta interia – nie dochodzą maile
  • Wyszukiwanie postów tylko po tytułach
  • Related product – produkty podobne w woocommerce

Najnowsze komentarze

    Archiwa

    • wrzesień 2022
    • lipiec 2022
    • kwiecień 2022
    • marzec 2022
    • październik 2021
    • wrzesień 2021
    • kwiecień 2021
    • marzec 2021
    • grudzień 2020
    • lipiec 2020
    • marzec 2020
    • luty 2020
    • styczeń 2020
    • maj 2019
    • luty 2019
    • listopad 2018
    • sierpień 2018
    • czerwiec 2018
    • maj 2018
    • marzec 2018
    • luty 2018
    • styczeń 2018

    Kategorie

    • dla admina
    • layout
    • optymalizacja
    • woocommerce

    Meta

    • Zaloguj się
    • Kanał wpisów
    • Kanał komentarzy
    • WordPress.org
    Strony na Wordpress - uKONTENTowani.pl
    TO NIE JEST STRONA DLA INSTALATORÓW WTYCZEK