Git: assume-unchanged czy skip-worktree? Ignoruj lokalne zmiany w śledzonym pliku

Plik jest w repozytorium, a Ty zmieniasz go tylko u siebie: port w docker-compose.yml, adres bazy w pliku konfiguracyjnym. .gitignore nie pomoże, bo plik jest już śledzony. Są dwie flagi w git update-index, które ukrywają taki plik w git status. Różnią się tym, co się stanie z Twoimi zmianami przy reset --hard albo checkout 🙈

Krótko: do lokalnych zmian używaj --skip-worktree. --assume-unchanged został zrobiony do czegoś innego i potrafi po cichu skasować Twoją wersję pliku.

Czytaj dalej „Git: assume-unchanged czy skip-worktree? Ignoruj lokalne zmiany w śledzonym pliku” →

Gutenberg: własne pole meta w panelu dokumentu

Potrzebujesz dodatkowego pola przy wpisie, np. krótkiej zajawki wyświetlanej nad treścią? W edytorze blokowym dodajesz je do panelu dokumentu w sidebarze. Dane lądują w post meta, a w szablonie wyciągasz je jednym get_post_meta() 🧩

Potrzebujesz dwóch części: rejestracji pola w PHP i panelu w JS. Bez PHP pole się nie zapisze.

Czytaj dalej „Gutenberg: własne pole meta w panelu dokumentu” →

WordPress: kiedy lazy loading źle zgaduje i jak go wyłączyć dla obrazu 🔥

WordPress dodaje loading="lazy" do obrazów, a obraz widoczny od razu po wejściu na stronę ładuje się przez to później i psuje LCP. WordPress Core sam pomija lazy loading dla pierwszych 3 elementów multimedialnych w treści i dodaje fetchpriority="high" dla kwalifikującego się obrazu. W większości przypadków nic nie musisz robić 🚀

Problem zaczyna się, gdy obraz above the fold (na pierwszym ekranie, zanim zaczniesz przewijać stronę) jest 4. elementem w treści: po kilku ikonach albo w układzie z kolumnami. WordPress Core liczy elementy, a nie to, co widać w oknie przeglądarki. Dwa sposoby, od prostszego.

Czytaj dalej „WordPress: kiedy lazy loading źle zgaduje i jak go wyłączyć dla obrazu 🔥” →

Jak odzyskać automatyczny Enter po dyktowaniu w VoiceInk 2.0 (push-to-talk) 🎙️

Przytrzymuję skrót, mówię, puszczam. Tekst wkleja się sam i wysyła Enterem. Tak rozmawiałem z czatami AI w VoiceInk, dopóki nie zaktualizowałem aplikacji do wersji 2.0 🎙️

Po aktualizacji (lipiec 2026) opcji nie było tam, gdzie jej szukałem. Release notes nic nie mówią o usunięciu. Poniżej: co się zmieniło i jak odzyskałem ten workflow.

Czytaj dalej „Jak odzyskać automatyczny Enter po dyktowaniu w VoiceInk 2.0 (push-to-talk) 🎙️” →

Gravity Forms reCAPTCHA: lazy load po dotknięciu formularza 🚀

Formularz w stopce, który jest na każdej podstronie, ciągnie skrypt reCAPTCHA przy każdym wejściu i obniża wynik w PageSpeed. Większość odwiedzających go nie dotknie. Poniżej robię lazy load reCAPTCHA w Gravity Forms: skrypt ładuje się dopiero, gdy ktoś kliknie lub wejdzie klawiaturą w pole formularza 🤯

Dotyczy reCAPTCHA v2 (checkbox) w Gravity Forms. Wersja v3 działa inaczej i tego triku nie potrzebuje.

Pamiętaj, żeby zrobić test w Lighthouse przed zmianą i po niej, na tej samej stronie.

Czytaj dalej „Gravity Forms reCAPTCHA: lazy load po dotknięciu formularza 🚀” →

Materiały z warsztatów: wp-cli techniki zaawansowane

Mega dzięki za uczestnictwo na moich dzisiejszych warsztatch 👍. Mam nadzieję, że zdobyta wiedza pozwoli Wam przyspieszczyć i zautomatyzować pracę z WordPressem.

Niestety chat zniknął więc podsyłam link do paczki npma odnośnie AI

Niech wp-cli będzie z Wami!

People attending a WP-CLI workshop at WordCamp in Warsaw, seated with laptops.

Materiały z warsztatów: Wprowadzenie do wp-cli

warsztaty wp cli wordcamp warszawa

Kolejne warsztaty na WordCampie za mną. Z tego miejsca chciałbym bardzo podziękować wszystkim uczestnikom za obecność, zadawanie pytań i czynny udział. Mam nadzieję, że wiedza zdobyta podczas warsztatów pozwoli Wam wejść na wyższy poziom jeśli chodzi o zarządzanie WordPressem. Lista materiałów i notatek poniżej.

Czytaj dalej „Materiały z warsztatów: Wprowadzenie do wp-cli” →