publikacja: 19 lutego 2009, 11:20; autor: Łukasz Więcek http://wpninja.pl/artykuly/optymalizacja-wtyczki-kpicasa-gallery/

Optymalizacja wtyczki kPicasa Gallery

Obecnie chyba najlepszą wtyczką pozwalającą zagnieździć na swoim blogu zdjęcia (jak i całe galerie) publikowane w galerii Picasa Web Albums jest kPicasa Gallery. Z jednej strony jest ona w miarę lekka, a jednocześnie spełnia wszystkie wymagania, jakie można postawić tego typu wtyczce.

Niestety - przez (za przeproszeniem) bezmyślność autora wtyczka kPicasa Gallery w znacznym stopniu wpływa na zużycie naszego transferu. W końcu powszechnie wiadomo, że WordPress sam w sobie jest mocnym łańcuchem, ale każda zainstalowana wtyczka jest tym przysłowiowym słabym ogniwem wpiętym pomiędzy oczka naszego łańcucha ;) No ale do rzeczy…

W 99% przypadków galerię zdjęć umieszczamy na tylko jednej podstronie bloga i na logikę można by pomyśleć, że tylko na tej jednej podstronie są ładowane wszystkie skrypty i arkusze stylów potrzebne do poprawnego działania galerii. Jak już wspomniałem we wstępie, przez małą bezmyślność autora blog z aktywną wtyczką kPicasa Gallery przy każdym załadowaniu obojętnie jakiej podstrony ładuje około 60kb śmieci. A każde 60kb śmieci pomnożone przez kilka tysięcy użytkowników dziennie może oznaczać nawet kilka gigabajtów miesięcznego transferu wyrzuconego w błoto. A wystarczy nieco zmodyfikować tylko dwie linie w kodzie wtyczki!

Całą operację łatania wtyczki będziemy przeprowadzać na pliku kpicasa_gallery.php - otwórz go więc w jakimkolwiek edytorze tekstu, lub w edytorze wbudowanym w panel administracyjny WordPressa i podążaj za poniższymi wskazówkami. W miejsce „Galeria zdjęć” wstaw tytuł podstrony, na której jest umieszczona Twoja galeria.

Znajdź (linia 89):

add_action('wp_head', 'initKPicasaGallery');

I zamień na:

if(is_page('Galeria zdjęć')) add_action('wp_head', 'initKPicasaGallery');

Następnie znajdź (linia 96):

if ( function_exists('wp_enqueue_script') )

I zamień na:

if ( function_exists('wp_enqueue_script') && is_page('Galeria zdjęć') )

I to wszystko ;) Zapisz zmiany i ciesz się, bo Twój WordPress stracił właśnie na wadze ponad 60kb ;)

Podobał się artykuł? Dodaj kanał RSS / Atom do swojego czytnika lub zapisz się na bezpłatny newsletter i dołącz do grona stałych czytelników.

Komentarze (15)

  1. palmiak palmiak 1183 dni temu:

    Tak naprawdę napisałeś uniwersalny poradnik do wiekszości wtyczek. Oczywiście wynika to troszkę z tego, że autorzy nigdy nie wiedzą gdzie user wstawi wtyczkę, więc wolą zrobić tak, żeby działało wszędzie. Jednak w sytuacjach kiedy dokładnie wiemy gdzie i co umieszczamy takie działania jak Twoje powinny być codziennością.

    To tak jak samo jak z wypisywaniem stron. Na większości naszych blogów nowe strony pojawiają się tak rzadko, że wstawienie na ich na sztywno by było dość logicznym posunięciem i napewno lepszym niż wyciąganie ich za każdym razem z automatu.

    Oczywiście art na plus. Miło że ktoś porusza kwestię optymalizacji.

    odpowiedz
  2. Łukasz Więcek Łukasz Więcek 1183 dni temu:

    @palmiak Autorzy mogli dać chociaż f(is_page()), co by ładowało te wszystkie śmieci tylko na stronach, co już by odciążyło bloga (bo przeważnie największy ruch jest w postach). Można? Można ;) Wystarczy chcieć.

    odpowiedz
  3. Adam Klimowski Adam Klimowski 1183 dni temu:

    Gratuluję udanego debiutu :)

    odpowiedz
  4. palmiak palmiak 1183 dni temu:

    Zgodnie z prawam Murphy’ego gdy tylko autor wtyczki by tak zrobił to od razu na jego blogu pojawiło by się sto komentarzy dlaczego to im w postach nie działa, bo ich marzenie to korzystać z tego w postach… A tak poważnie to najoptymalniejszym wyjściem jest chyba w panelu zrobić zakładkę ‘czy chcesz używać wtyczki we wpsiach?’ ‘czy chcesz używać wtyczki tylko na jednej stronie?’. Aż się prosi to poprawić i podesłać autorowi.

    odpowiedz
  5. Kuba Pudliszewski Kuba Pudliszewski 1183 dni temu:

    Długo czekałem na ten wpis, po Twojej zapowiedzi na Blipie :)

    W każdym razie, proszę o szybkie wytłumaczenie jak to przerobić, by skrypt ładował się dla konkretnego wpisu.

    Czy tak:

    if(is_post('Nazwa postu')) add_action('wp_head', 'initKPicasaGallery');

    ?
    Czy instrukcję if mogę powtórzyć kilka razy, bo postów z galerią miałbym kilka?

    Z tym „is_post” strzelam na zasadzie analogii, kodowanie to moja słaba strona ;]

    Pozdrawiam!

    odpowiedz
  6. Szymon Skulimowski Szymon Skulimowski 1183 dni temu:

    @Kuba,

    Z tym „is_post” strzelam na zasadzie analogii, kodowanie to moja słaba strona ;]

    Jeśli chcesz żeby wtyczka ładowała bebechy tylko dla konkretnego wpisu (Łukasz w artykule podał przykład dla strony) do powinieneś skorzystać z funkcji is_single zamiast is_page.

    Czy instrukcję if mogę powtórzyć kilka razy, bo postów z galerią miałbym kilka?

    Korzystając z opisu funkcji - kolejne wpisy można dodawać po przecinku (według ID, sluga lub tytułu) np.: is_single('1','2','3')... więc nie ma potrzeby powtarzania instrukcji if :-)

    odpowiedz
  7. Kuba Pudliszewski Kuba Pudliszewski 1183 dni temu:

    Dzięki Szymek! Jutro spróbujemy :)

    odpowiedz
  8. aniec2 aniec2 1182 dni temu:

    Przepraszam za span ale forum jeszcze nie ma a wydaje mi się to ważne. Dzsiaj odnotowałem na 4 z 5 stron (wordpress) instalacje iframe’a jakiejs strony z torronto czy ktos mial dzis podobny wypadek?

    http://i8.photobucket.com/albums/a6/aniec2/truiit.jpg

    Screen powinien wyjaśnić o co chodzi - pomogła aktualizacja z 2.7 na 2.7.1 ale w przypadku stron już na 2.7.1 musiałem robić full backup. Czy miał ktos podobny przypadek? I czy może to być wina mojej firmy hostującej (złe zabezpieczenia?).

    odpowiedz
  9. aniec2 aniec2 1182 dni temu:

    Dodam, że całość instaluje się w stopce.

    odpowiedz
  10. Łukasz Więcek Łukasz Więcek 1180 dni temu:

    @aniec2 podaj adres swojego bloga, bo bez wglądu na żywo ciężko cokolwiek wywnioskować.

    odpowiedz
  11. aniec2 aniec2 1179 dni temu:

    Ok już rozwiązałem problem ale z tego co wiem skala masowa. Wirus wykrada hasła do ftpów i wpycha w pliki kod który ukrywa w stopce stronkę firmy z Kanady. Zmiana hasła i backup i format dysku poki co jest dobrze.

    odpowiedz
  12. marsjaninzmarsa marsjaninzmarsa 1167 dni temu:

    Dzięki za cynk, właśnie instaluję wtyczkę :)

    odpowiedz
  13. Jakub Milczarek Jakub Milczarek 1071 dni temu:

    Bardzo praktyczny wpis - dzięki, już zastosowałem…
    Mam za to inny problem z wtyczką kPicasa. Po włączeniu w moim serwisie „ładnych adresów” nie chce mi się załadować już żadna galeria. Po kliknięciu adres się zmienia, ale tak jakby nie przenosiło zmiennej… Może macie jakiś pomysł jak to poprawić, tak na szybko: http://www.milczarek.eu/galeria/
    Z góry dzięki!

    odpowiedz
  14. Jakub Milczarek Jakub Milczarek 1071 dni temu:

    Już sobie poradziłem :) Robiłem dziś bardzo wiele zmian w serwisie i ruszyło… Prawdopodobnie po tym jak posiedziałem przy ustawieniach w pliku .htaccess.

    odpowiedz
  15. LukasAMD LukasAMD 731 dni temu:

    Czy coś się w tej kwestii zmieniło przy jakiejś aktualizacji?
    Próbowałem na tej i innych wtyczkach i niestety nie działa - otrzymuję w PA komunikat o tym, że wtyczka nie posiada prawidłowego nagłówka i została z tego powodu wyłączona.

    odpowiedz

Dodaj własny komentarz

Odnośniki z innych stron (1)

Lista innych stron, które w jakiś sposób odnoszą się do opublikowanej tutaj treści:

  1. Dream Blog

    […] Czytaj ciąg dalszy artykułu » […]