Tag: php

Programming Notes for Professionals, czyli solidna i bezpłatna dawka skondensowanej wiedzy (PDFy do pobrania)

Zapytał mnie kolega, czy nie mam jakichś „skondensowanych notatek” z Basha, bo akurat by się przydały, a ja w końcu „coś tam w nim dłubię”. Notatki oczywiście, że mam, ale są to moje notatki, i w większości sytuacji nikomu nic po nich, o ile ich nie „rozjaśnię”, np. w formie artykułu na WebInsider.pl (co regularnie czynię… ;-)). Ale by nie zostawiać kolegi w potrzebie, przesłałem mu link do strony, gdzie znajdzie sporo „notatek w PDFach”, również do Basha.

Obsługa zewnętrznych krótkich kodów (shortcodes) w formularzach we wtyczce Contact Form 7 w WordPressie

Jak być może niektórzy z Was wiedzą, przy okazji uruchomienia w ramach Newslettera WebInsider.pl powiadomień o nowych artykułach dokonałem również (re)migracji obsługi formularzy kontaktowych na stronie do wtyczki Contact Form 7. Co oznacza trochę dodatkowej pracy, nie tylko by przenieść formularze (wraz z ich ustawieniami), oraz dostosować wygląd, ale też i przy różnych modyfikacjach, które mają korzystanie z wtyczki jak najbardziej usprawnić. Jedną z takich rzeczy jest dodanie obsługi zewnętrznych krótkich kodów (shortcodes) do formularzy generowanych przez CF7.

Para-CRON w Home.pl, czyli harmonogram zadań, którego niby nie ma, a jednak jest, i nawet działa

Wczoraj przy okazji rozmowy o automatyzacji marketingu (nie tylko internetowego) pokazałem koleżance platformę Mautic, z której korzystam (będzie o tym niebawem większy wpis, bo chyba Mautic zawita też na WebInsider.pl, oczywiście by zautomatyzować marketing, czyli tzw. Marketing Automation ;-)). Platforma się spodobała na tyle, że koleżanka od razu rzuciła mi, że ona też chce. Szybko w myślach odszukałem rekord, w którym zapisane mam, że koleżanka korzysta z hostingu w Home.pl (Business Cloud), co od razu wzbudziło moje obawy, co do tego, że cała operacja przebiegnie bez problemów…

Dodanie obsługi krótkich kodów (shortcode) we wtyczce Bloom do WordPressa od Elegant Themes

Od kilku dni testuje różne rozwiązania, których celem jest większe zróżnicowanie ruchu ma stronie (czytaj: większa niezależność od ruchu z Google i Facebooka). Jednym z takich działań jest większy nacisk na Newsletter, który niebawem powinien troszkę zmienić swój charakter, i docelowo chciałbym by zapewnił dodatkowy ruch na stronie. Przy tek okazji testuje różne wtyczki, zarówno do samego newslettera, jak i wspierające. Jedną z takich wtyczek jest Bloom od Elegant Themes, który odpowiada za wyświetlanie okna z formularzem zapisu. Wtyczka sprawuje się dobrze, poza dwoma drobiazgami…

UploadDir i SaveDir w PhpMyAdmin, czyli import i eksport bazy danych z/do katalogu bezpośrednio na serwerze

Choć operacje na bazach danych MySQL (np. kopia zapasowa) często wykonuje z wiersza poleceń, to lubię też czasem sobie uprościć zadanie, i skorzystać z PhpMyAdmin. Niedawno pomagałem znajomemu skonfigurować ten skrypt na jego serwerze, bo potrzebował zaimportować naprawdę duży plik, co spotykało się z permanentnym oporem. Oczywiście poradziłem mu by skorzystał z konsoli, ale przy okazji pokazałem pewny „trik”, tak by w przyszłości mógł za pomocą PhpMyAdmin importować do bazy pliki już zapisane na serwerze (a ma ich kilka, bo w ramach testów często „żongluje” nimi).

WordPress 1 – 0 „własny CMS”, czyli błąd serwera MySQL wystarczył, by dane logowania do bazy danych poszły w świat

Ile to razy byłem świadkiem (bo staram się nie brać bezpośredniego udziału w takich rozmowach, bo zazwyczaj nie mają one większego sensu) debaty nad wyższości dedykowanego CMSa nad ogólnodostępnym, z otwartym kodem, gdzie każdy może zaglądać i… szukać dziur, co z automatu sprawia, że tego typu rozwiązania są mniej bezpieczne. Oczywiście ciężko mi się z tym zgodzić, bo o ile faktycznie do kodu może zajrzeć każdy, to życie już nie raz pokazało, że odbywa się to z korzyścią dla oprogramowania, bo dzięki temu można skorygować problemy, również te związane z bezpieczeństwem.

Przekierowanie do wpisu-rodzica zamiast standardowej strony załącznika w WordPressie

Kilka dni temu, przeglądając Google Search Console (starą wersję ;-)) dla jednej z moich stron zwróciłem uwagę, że w Google mam zindeksowane całkiem sporo stron załącznika (grafiki), z których nie korzystam, a które zawyżają mi liczbę błędów związanych z metadanymi (metatagi). Wprawdzie nie wpływa to raczej na pozycję w wyszukiwarce (SEO), to jednak postanowiłem problem rozwiązać (choć to nic osobistego, to naprawdę nie lubię tych stron załącznika ;-)).

Obrazek śledzący (piksel) i Log Analytics w Matomo (Piwik), czyli alternatywne sposoby monitorowania ruchu na stronie

Do monitorowania aktywności na stronach internetowych (ale nie tylko na stronach, bo też np. aplikacjach mobilnych) korzystam ze statystyk. Oczywiście Google Analytics, które stały się niejako rynkowym standardem, a w połączeniu z Google Tag Manager można tutaj działać istne cuda. Ale oprócz GA korzystam od niedawna ze statystyk Yandex Metrica (punkt odniesienia), oraz – to już od bardzo dawna – Matomo (do niedawna Piwik), które służą nie tylko za punkt odniesienia, ale i całkiem silne uzupełnienie GA, zwłaszcza pod względem elementów niezależnych od (blokowania) JavaScript…

Debugowanie WordPressa, czyli gdy coś nie działa (tak jak powinno)

Gdy piszę ten tekst mamy niedzielny, prawie zimowy poranek, a więc dzień dla mnie zazwyczaj wolny od pracy. Ale w mojej branży często jest tak, że niezależnie od planów różne rzeczy mogą się zdarzyć… Tym razem dostałem e-mail z prośbą o pilną pomoc ze sklepem działającym na WooCommerce (wtyczka do WordPressa). Niby wszystko działa prawidłowo, ale w pewnym momencie na stronie nie widać nic, poza tzw. „białym ekranem śmierci”. Skoro mamy do czynienia ze sklepem, to reakcja powinna być szybka. Ale by móc usunąć błąd najpierw trzeba wiedzieć, co go powoduje.

W poszukiwaniu niewidzialnego cytatu, czyli WordPress, Extra i cytat, który jest, a jakby go nie było

Z racji tego, że strona istnieje już od jakiegoś czasu, to za nami zarówno zmiana nazwy (adresu strony), jak i kilka(naście?) motywów, i pewnie dziesiątki, jak nie setki „przetestowanych” wtyczek. Oczywiście w tym czasie zmieniał się również i sam WordPress – z relatywnie prostej platformy blogowej stał się dojrzałym CMSem, dla którego nie straszne są właściwie dowolne zadania, takie jak sklepy internetowe, platformy edukacyjne… Oczywiście taki „bagaż doświadczeń” czasem daje o sobie znać…

Przesyłanie kopii wszystkich wiadomości e-mail wysyłanych z WordPressa na wybrany adres

Na jednej ze stron, którą się opiekuje (WordPress, bo tych mam „pod sobą” najwięcej) pojawiła się tymczasowa potrzeba przesyłania kopii (BCC/UDW, czyli ukrytej) wszystkich wysyłanych wiadomości e-mail na kontrolny adres. Zresztą sama przyczyna nie jest istotna, ważne jak można to w prosty sposób zrobić.

Prosty sposób na znikający formularz kontaktowy po wysłaniu wiadomości w motywie Divi (Elegant Themes)

Wprawdzie z motywu Divi od Elegant Themes korzystam już od dość dawna przy różnych projektach (choć na razie nie jest to dominujący u mnie motyw), to do tej pory zazwyczaj nie korzystałem z wbudowanego formularza kontaktowego, gdyż wolę korzystać z dedykowanych rozwiązań, które oferują zazwyczaj większe możliwości – zresztą nie dotyczy to tylko Divi, a ogólnie większości motywów ze zintegrowanym formularzem kontaktowym.
Aktualnie pomagam przy projekcie, gdzie strona internetowa to tzw. „one page”, czyli jedna strona, która przeprowadza użytkownika przez całą historię, którą chcemy mu opowiedzieć (sprzedać). Ja tym razem odpowiadam „tylko” za warstwę techniczną, a kontentem (zarówno treścią, jak i samą strukturą) zajmuje się koleżanka, która skorzystała z wbudowanego w Divi formularza kontaktowego, w którym – przynajmniej według nas – zabrakło jednej dość istotnej opcji…

Poprawne usuwanie prefiksów „prywatny” i „zabezpieczony” dla tytułów w WordPressie

Zapytała mnie znajoma, czy mógłbym na jej stronie dodać pewną „drobną funkcjonalność”, taką z typu „na pewno nie zajmie Ci to dużo czasu”. Mógłbym, a jakże, najwyżej się jakoś rozliczmy, a następnie wspólnie rozliczenie skonsumujemy… ;-)
Przy okazji w pliku functions.php trafiłem na ciekawy fragment kodu, który z jednej strony idealnie spełniał swoje zadanie, ale z drugiej strony – zadanie spełniał to idealnie właściwie tylko z przypadku.

Własny widżet w kokpicie WordPressa (WP-Admin), np. z podstawowymi informacjami dla użytkowników

Czasem, gdy oddaje gotową stronę internetową (WWW) dla klienta, to również przygotowuje odpowiednio dopasowane (czytaj: okrojone ze zbytecznych uprawnień ;-)) konta dla delegowanych do zarządzania np. sklepem czy aktualnościami użytkowników. I choć są oni zazwyczaj po (prze)szkoleniu, to z doświadczenia wiem, że zawsze mogą pojawić się jakieś pytania czy wątpliwości, i takiej sytuacji wole by dany użytkownik skontaktował się ze mną, niż coś na siłę próbował zrobić.
Jednym z elementów tego procesu jest dedykowany widżet (widget) na głównym ekranie WordPressa (WP-Admin), gdzie użytkownik może znaleźć między innymi informacje kontaktowe, oraz linki do dedykowanej pomocy (np. jakiś FAQ lub system Q&A). I dziś pokaże Wam, jak w prosty sposób taki widżet dodać również na swojej stronie.

Modyfikacja kodu HTML znacznika „more” w WordPressie

W WordPressie w standardzie mamy kilka znaczników, o których być może kiedyś napisze coś więcej, ale dziś skupię się na jednym z nim, chyba najczęściej używanym. Jest to znacznik „more” odpowiedzialny za wyświetlanie np. na liście wpisów (archiwum) tekstu w stylu „czytaj dalej”, w zdefiniowanym przez autora momencie – zazwyczaj po zajawce tekstu. Tak jak poniżej, o tu – tuż przed subtytułem:

We wtyczkach i motywach do WordPressa pojawiła się możliwość wprowadzenia minimalnej wymaganej wersji PHP

Od dawna w repozytorium WordPress.org autorzy wtyczek i motywów mogą określać minimalną wersję WordPressa z którym ich „produkt” jest zgodny, oraz najnowszą wersję, z która deklarują (po testach ;-)) zgodność. Brakowało natomiast informacji, na temat minimalnej wymaganej wersji silnika/interpretera PHP, co często – patrząc choćby po problemach zgłaszanych przez użytkowników niektórych wtyczek/motywów – przysparza sporo (niepotrzebnych) problemów, zarówno autorom, jak i użytkownikom. Na szczęście jest szansa, że niebawem to się zmieni…

Własny domyślny obrazek profilowy (awatar) w WordPressie

W WordPressie każdy komentujący – o ile np. autor motywu nie postanowi zaimplementować tutaj jakiegoś autorskiego rozwiązania – ma (otrzymuje) awatar, czyli małą grafikę, która wyświetla się zazwyczaj obok pseudonimu. Jeśli komentujący użytkownik ma konto w serwisie Gravatar, to wyświetli się ikona przypisana do użytego adresu e-mail (o sposobach modyfikacji tego mechanizmu postaram się napisać niebawem). W innym przypadku wyświetli się awatar domyślny – w jednym z kilku standardowo dostępnych stylów. Ale nic nie stoi na przeszkodzie, by dodać własny awatar domyślny…

Wyłączenie aktualizacji w WordPressie, czyli czego nigdy nie powinieneś robić – zwłaszcza na stronie dla klienta

Dostałem dziś link do wpisu na Facebooku, w którym jako grafika widniał kod PHP znaleziony zapewne w jakiejś „odziedziczonej i modernizowanej po kimś” stronie internetowej, z dopiskiem, że to – w uproszczeniu – wielkie zło. Oczywiście z linkiem pojawiło się pytanie, czy to faktycznie takie zło wcielone, i – jeśli tak – co jest tam nie tak.

Dodawanie piksela Facebooka do strony internetowej (nie tylko) na przykładzie WordPressa

Niedawno pisałem o tym, że Facebook mocno rozbudował możliwości swojego narzędzia Facebook Analytics, które powoli wyrasta na (społecznościową) konkurencję dla Google Analytics. Przy tej okazji wspomniałem tez o zmianach w obrębie piksela Facebooka, czyli kodu odpowiedzialnego m.in. za dostarczanie danych do statystyk.
I tak ten piksel Facebooka przewija się w kolejnych wpisach i tematach, a jeśli pamięć (i wyszukiwarka) mnie nie myli/zawodzi, to ni było jak go dodać do swojej strony internetowej…

Loading

InfoWidget

InfoWidget

InfoWidget