Tag: php

Stan witryny w WordPressie (5.2+) to przydatna opcja, ale warto wiedzieć, że/jak można wyłączyć poszczególne testy

Wraz z niedawną premierą WordPressa 5.2 (Jaco) zadebiutował też mechanizm sprawdzający stan witryny/strony, dzięki czemu nawet mniej zaawansowana osoba może w prosty sposób sprawdzić, czy strona działa prawidłowo i spełnia wszystkie wymagania WordPressa. Z naprawą/korektą w większości przypadków pewnie już tak łatwo nie będzie, i tu już może być wymagana trochę bardziej techniczna wiedza, ale zawsze od czegoś trzeba zacząć. Są jednak sytuacje, gdy niekoniecznie chcemy tego typu testem dzielić się np. z potencjalnym klientem…

Brak tagu zamykającego blok języka PHP nie tylko nie musi być błędem, ale często wręcz może być koniecznością

Poprosił mnie znajomy o przygotowanie wtyczki do WordPressa na bazie jednego z opublikowanych poradników, bo chciał w niej zawrzeć pewne modyfikacje (dodatkowe opcje) i nie bardzo wiedział jak się do tego zabrać. Z racji tego, że była to dość specyficzna potrzeba, uznałem, że nie będę tworzył powiązanego z nią poradnika, a najszybciej będzie, jak po prostu mu to napiszę, zamiast tłumaczyć co i jak… Przygotowałem wtyczkę, wysłałem do znajomego, ten postanowił (słusznie) do niej zajrzeć, by zobaczyć co i jak zrobiłem. Przy tej okazji zwrócił mi uwagę, że choć wtyczka działa, to chyba znalazł w niej mały błąd…

Zadebiutował WordPress 5.2 „Jaco”, a wraz z nim funkcja wp_body_open(), z nowym hakiem „wp_body_open”

Dziś zadebiutował publicznie WordPress 5.2 „Jaco” (od Jaco Pastorius), który przyniósł kilka zmian, jak to w przypadku aktualizacji bywa. Wśród zmian mamy dodatkowe strony związane z usługą „Site Health” (opcja, która pojawiła się wraz z 5.1), gdzie możemy sprawdzić stan witryny („stan witryny pokazuje krytyczne informacje na temat konfiguracji WordPressa i innych elementów, które wymagają twojej uwagi”), oraz uzyskać dodatkowe informacje o samej stronie („strona pokazuje każdy szczegół konfiguracji twojej witryny opartej o system WordPress”). Poprawiono też mechanizm zarządzania i kontrolowania ewentualnych błędów PHP, wraz ze specjalnym trybem awaryjnym (recovery mode). Ale dla mnie chyba najistotniejszą zmiana jest nowa funkcja, a wraz z nią nowy filtr, dzięki któremu można będzie w prosty sposób dodać kod zaraz za znacznikiem <body>.

Dodawanie ikon do strony internetowej (np. do menu) na przykładzie Font Awesome 5 (i Dashicons) i WordPressa

Będzie o ikonach (nie tylko) w menu, czyli temacie trochę pochodnym ostatnich zmian na Webinsider.pl – ikony w menu były chyba od zawsze, ale niedawno dorobiły się ich wszystkie pozycje (w menu głównym), i od razu w statystykach widzę, że jest dużo większe zainteresowanie poszczególnymi pozycjami. Dostałem też kilka pytań, jak takie ikony wdrożyć, stąd ten artykuł…

Kompleksowe podejście do wysyłania wiadomości e-mail z WordPressa, czyli co zrobić by wszystko było jak trzeba

O wysyłaniu wiadomości e-mail z WordPressa już pisałem, tak samo, na temat wysyłania ogólnie, czy to bezpośrednio z serwera (MSMTP), czy z dowolnej strony w PHP (PHPMailer). Ale w ostatnich dniach mam sporo wejść z wyszukiwarek na hasła typu „WordPress wysyłanie e-maili”, czy „motyw Divi wysyłanie e-maili”. Dlatego pomyślałem, że stworzę kolejny artykuł, w którym postaram się całościowo przedstawić to zagadnienie.

Usuwanie wersji skryptów i stylów (CSS) z adresów plików wczytywanych w nagłówku przez WordPressa

Kolega postanowił poszukać Świętego Graala, przynajmniej jeśli o chodzi o szybkość jego strony internetowej w teście Google PageSpeed Insights. Oczywiście życzę powodzenia, nawet jeśli to często sztuka dla sztuki. Przy tej okazji zapytał, jak w WordPressie najprościej i bez dodatkowych wtyczek (wydajność ;-)) wywalić z adresów ładowanych plików CSS i skryptów (JavaScript) dodawane automatycznie argumenty z wersją – czy to samego WordPressa czy wtyczki lub motywu. Ponoć ma lepiej cache dzięki temu działać, a tym samym w teście wpadnie dodatkowy punkt lub może nawet dwa…

Wykluczanie wybranych wpisów (po kategorii, tagu czy autorze) z wyników wyszukiwania i kanału RSS w WordPressie

Dziś, podczas drobnych zmian w drzewku kategorii na jednej ze stron, którą się opiekuję zapytał mnie kolega, który akurat siedział obok (pogaduszki przy czymś chłodnym ;-)) o 2 kategorie, które mam na stronie – „wyklucz z wyszukiwania” i „wyklucz z RSS”. Pytanie oczywiście nie dotyczyło tego do czego te kategorie służą, bo to chyba oczywiste, tylko jak takie coś najprościej wdrożyć.

Przekazywanie dynamicznego adresu IP do serwera, np. by ustawić wyjątek dla uwierzytelnienia dwuskładnikowego (2FA) dla połączenia SSH

Kilka dni temu, w artykule o moim nowym internecie podstawowym (Internet na Kartę w Play) wspomniałem, że po kilku latach, brak stałego i publicznego adresu IP jest dla mnie większym utrudnieniem niż „skacząca prędkość”, czy w ogóle zanikający od czasu do czasu transfer. Dlatego uznałem, że muszę wdrożyć jakieś dodatkowe mechanizmy, które pozwolą mi zniwelować minusy wynikające z dynamicznie przydzielanego adresu IP…

Konfiguracja serwera VPS z Debian 9 jako serwer WWW, z wykorzystaniem niestandardowych źródeł pakietów

Przedwczoraj z HitMe.pl dotarła do mnie informacja, że matka serwera VPS na którym działa(ł) Webinsider.pl powoli zmierza na emeryturę (choć może dostanie pewnie jakieś zajęcie, by się nie nudziła ;-)), w związku z tym dostałem propozycję nowego serwera VPS. Oprócz tego, że oznacza to więcej mocy (więcej RAMu, więcej CPU, i dysk SSD do tego) to również przy tej okazji zmienił się typ wirtualizacji –  z XEN na KVM. W związku z tym uznałem, że choć mógłbym spróbować dokonać migracji za pomocą SSH i Rsync, to postanowiłem, że skonfiguruję środowisko (web) serwera ręcznie, przy okazji robiąc notatki do nowej wersji artykułu na ten temat…

Wyłączenie Emoji w WordPressie, czyli np. ;-) czy :-P zamiast „kolorowych mordek” w treści (nie tylko wpisów i stron)

Zapytała mnie koleżanka, dlaczego u mnie we wpisach „mordki” (np. ;-)) widać jako zwykłe połączenie znaków, a nie jak u niej – w formie graficznego Emoji. Moja odpowiedź była prosta – bo mam tak ustawione w ustawieniach WordPressa. I choć była to jak najbardziej prawdziwa odpowiedź, to… dotyczy tylko stron, które zostały uruchomione na starszych wersjach WordPressa. W przypadku nowszych instalacji takiej opcji nie ma, i trzeba zastosować inne metody by wyłączyć Emoji…

Chmura tagów w WordPressie, ale tylko z tagami przypisanymi do artykułów (postów) z wybranej kategorii

W komentarzach pod artykułem o RODO (Praktyczne aspekty Rozporządzenia o Ochronie Danych Osobowych (RODO/GDPR) w działalności internetowej) dyskusja trochę zboczyła na boczne tory, i dotarła do wyświetlania chmurki tagów, ale tylko dla artykułów (postów) z wybranej kategorii. Zagadnienie (wyzwanie ;-)) w sumie ciekawe, więc postanowiłem mu się przyjrzeć…

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 ;-)).

Loading

InfoWidget

InfoWidget

InfoWidget

Pin It on Pinterest