Tag: php

Custom Post Types, czyli własne typy postów w WordPressie, na przykładzie Newsloga na Webinsider.pl

Tematy do opisania na Webinsider.pl (i notatki do nich) piętrzą się w kolejnych stosach m.in. w Trello, i pewnie jakbym się nie starał, o wszystkim nie dam rady napisać. W ten sposób niestety wiele tematów wartościowych nigdy się nie okazuje, bo zanim doczekają swojej szansy, są już nieaktualne (albo muszę robić od nowa notatki do nich). Są też tematy krótkie, ale na tyle  – przynajmniej w mojej ocenie – istotne, że warto choćby o nich wspomnieć (i to nie tylko po to, by generować UU na ich bazie ;-)). I właśnie do tych tematów, a konkretnie formatu, w jakim powinny być publikowane, robiłem już kilka podejść. To, co się nie sprawdziło, to zbiorcze zestawienia, czyli tzw. prasówka. Problemem z tym formatem był taki, że może i mały, ale ważny, i czasem dodatkowo pilny temat musiał czekać, aż uzbiera się przynajmniej kilka innych tematów, a gdy się uzbiera to – nie licząc czasu potrzebnego na przygotowanie – pojawiał się kolejny problem: tworzył się z tego kolejny duży artykuł, który zabierał często więcej czasu niż „normalny poradnik”. I tak, 21 maja 2020 zadebiutował na Webinsider.pl nowy format, który prawdopodobnie już zostanie, bo po tych kilku miesiące widzę, że się całkiem nieźle sprawdza…

Ponowienie płatności w WooCommerce i PayU, czyli „niefortunny status zamówienia” (wstrzymane (oczekuje na płatność))

Niedawno otrzymałem chyba dość ciekawe zgłoszenie/zapytanie dotyczące sklepu internetowego. Sklepu, jakich wiele, a może nawet bardzo wiele, czyli WordPress i WooCommerce. Sklepu, w którym, jak to w wielu innych, a może i większości, płatność jest realizowana za pomocą jednego z systemów tzw. szybkich płatności, a konkretnie PayU. I wszystko działało pozornie prawidłowo. Dostałem jednak zapytanie, czy nie można by wyjść naprzeciw klientowi, który z jakiegoś powodu nie mógł (prawidłowo) dokończyć płatności, i umożliwić ponowienie płatności, bez potrzeby składania ponownego zamówienia. Brzmi logicznie, i wydawało mi się, że co jak co, ale w  WooCommerce to tak działa…

Brak punktorów w opisie kursów i lekcji we wtyczce Tutor LMS (WordPress), czyli prawdopodobny konflikt z… motywem Divi

Wczoraj, podczas jakby się zdawało w pewnym sensie już rutynowego wdrożenia wtyczki Tutor LMS (platforma kursowa do WordPressa), pojawił się problem, którego do tej pory nie byłem świadom. Problem objawił się przy próbie stworzenia listy wypunktowanej w opisie kursu. Konkretnie to samą listę udało się stworzyć, bo to nic specjalnie trudnego, ale zdecydowanie nie wyświetlała się prawidłowo. Właściwie to w ogóle jako lista się nie wyświetlała…

Potencjalnie groźna podatność w popularnej wtyczce Contact Form 7 do WordPressa, choć to chyba „z dużej chmury mały deszcz”

Wczoraj wieczorem na moim telefonie pojawiła się informacja, która sprawiła, że natychmiast odpaliłem system automatycznie aktualizujący wszystkie strony, którymi się opiekuję. Informacja dotyczyła Contact Form 7, czyli jednej z najpopularniejszych wtyczek do formularzy kontaktowych w WordPressie (ponad 5 milionów aktywnych instalacji, i to tylko tych z repozytorium WordPress.org). Nagłówki kolejnych alertów (i informacji) grzmiały o możliwości podrzucenia na serwer np. pliku PHP, a tym samym – przynajmniej potencjalnie, jeśli ktoś nie używa PHP Pools i/lub open_basedir – przejęcia całego serwera. Brzmiało groźnie, więc na szybko, w międzyczasie jak prewencyjnie aktualizowały się strony, postanowiłem przeczytać, co o tej podatności w internetach piszą… Podwójne znaczenie.

Rezygnacja (konsumenta) z prawa do odstąpienia od umowy w ciągu 14 dni w sklepie internetowym na WooCommerce (WordPress)

Pisząc kilka lat temu artykuł o automatycznym dodawaniu załącznika do wiadomości e-mail z potwierdzeniem zamówienia w WooCommece (WordPress), co wynikało z nowego wymogu, jaki m.in. na sklepy internetowe wprowadziła ustawa o prawach konsumenta, która weszła w życie 25 grudnia 2014, nie spodziewałem się, że nie tylko będzie to jeden z najpopularniejszych artykułów na stronie, ale jednocześnie będzie w ścisłej czołówce jeśli chodzi o generowanie zapytań o wsparcie. Ale zanim pospieszycie do swoich stron dodawać artykuł na ten temat, poczekajcie chwilkę, bo jest jeszcze jeden pokrewny temat, który wprawdzie do teraz na stronie się nie pojawił, ale zazwyczaj pytanie o ten element pojawia się przy tej samej okazji. Przynajmniej od osób, które w swoich sklepach internetowych sprzedają (głównie) produkty cyfrowe, takie jak eBooki, szkolenia, wzory dokumentów…

WordPress 5.5 to nowości nie tylko dla fanów Gutenberga, ale też i dla normalnych użytkowników (klasycznego edytora ;-))

Artykuł ten powinien pojawić się na przełomie sierpnia, gdy WordPress w wersji 5.5 (Eckstine) miał swoja publiczną premierę. Ale ze względu na zmiany w moim życiu takiej możliwości nie było. Mógłbym więc temat tej wersji pominąć, jak to czynię z większością, ew. dać w ramach newsloga, ale jest w tej aktualizacji kilka zmian – i to nie w obrębie Gutenberga, jak to ostatnio zazwyczaj bywa –  o których warto napisać. Tak więc może z lekkim poślizgiem, przedstawiam…

Sklep internetowy na WooCommerce (WordPress) i niby niewinny drobiazg, który nie pozwalał sfinalizować zamówienia, czyli… wracamy z artykułami po (dłuższej) przerwie

Artykuł ten powinien się ukazać na przełomie czerwca i lipca, gdy cala akcja miała miejsce. Pisać zacząłem go kilka dni temu, ale uznałem, że fajnie, jak ukaże się właśnie dziś, tj. 24 sierpnia 2020. Data znamienna, 24 czerwca ukazał się poprzedni/ostatni artykuł na Webinsider.pl, czyli równo 2 miesiące temu. Przerwa długa, najprawdopodobniej najdłuższa w kilkuletniej historii serwisu. Przerwa wynikająca z jednej z większych – jesli nie największej – zmian w moim życiu, przynajmniej od kilku lat. Przerwa, która w planach miała trwać 2-3 dni, maksymalnie tydzień. Stąd też moje „informatyczne” zaplecze – np. w postaci laptopa z golutkim i świeżutkim systemem Windows i telefonu – miało wystarczyć, by w razie ew. pilnych i ważnych problemów móc działać. Ale czasem w życie przynosi niespodzianki, i to większe, niż można się było spodziewać.

W WooCommerce 4.1 pojawił się WooCommerce Marketing Hub, czyli nowa pozycja w menu głównym WordPressa, którą na szczęście można prosto wyłączyć

Choć cały czas, jeśli chodzi o wybór CMSa moim pierwszym (i najczęstszym) wyborem jest WordPress, a w przypadku sklepów internetowych WooCommerce (co trochę wynika też z pierwszego wyboru, czyli WordPressa jako bazy ;-)), to od jakiegoś czasu z pewnego rodzaju obawami patrzę na kolejne aktualizacje WordPressa. Dlatego właściwie przestałem pisać o kolejnych wydaniach, bo te – przynajmniej pomijając naprawy błędów – w moim odczuciu coraz bardziej sprowadzają się do implementowania kolejnych nowości w edytorze blokowym (Gutenberg), z którego nie korzystam. I choć wtyczka Gutenberg jest integralną częścią WordPressa od ponad roku, doczekał się już w wersji 8.1 (sic!), to nadal „dostaję spazmów”, gdy na jakiejś stronie chcę/muszę coś zmodyfikować i na niego trafię. Niestety, ale w przypadku WooCommerce też powoli zaczynam dostrzegać to, że autorzy wtyczki zaczynają jakby obierać odmienny kierunek od tego, który by mi pasował…

Zabezpieczanie plików i katalogów przed modyfikacją w systemie Linux za pomocą polecenia chattr (change attribute)

Dzisiaj na kilku stronach działających na WordPressie wdrażaliśmy pewną wtyczkę. Niby nic nadzwyczajnego, ale wtyczka ta nie pochodzi(ła) z np. z repozytorium WordPress.org, a bezpośrednio z serwisu GitHub. Tym samym jej aktualizację trzeba było oprzeć nie o standardowe mechanizmy aktualizacji WordPressa, ale o mechanizmy Gita. A, że strony te działały na jednym serwerze, to, zamiast multiplikować kod wtyczki (i tym samym procedurę aktualizacji) postanowiłem skorzystać z linków symbolicznych.

Pobieranie (płatnych) wtyczek i motywów do WordPressa z „nieoficjalnych stron” (nie tylko) w kontekście bezpieczeństwa

Kilka dni temu, podczas rozmowy ze znajomymi pojawił się temat płatnych motywów i wtyczek do WordPressa, które – w pewnym uproszczeniu – często „muszą” być wydawane na licencji jak WordPress, czyli GPL. Ma to takie znaczenie, że teoretycznie tak zakupiony produkt (wtyczka, motyw) może być dalej legalnie dystrybuowany. Korzystają z tego (trochę, bo często tam i tak nikt licencjami się nie przejmuje) różne serwisy, z których można pobrać bezpłatnie płatne wersje motywów i wtyczek. Ale jak to w życiu bywa – na koniec dnia każdy biznes musi (na czymś) zarabiać, również ten „piracki”.

Languages remover for Divi Builder, czyli pozbywamy się „kiepskich” tłumaczeń z Divi Buildera (również w motywach Divi i Extra)

Kilka miesięcy temu napisałem o problemach ze zmianą domyślnego języka w WordPressie, gdy wyłączone są tłumaczenia w ustawieniach motywu Divi i Extra. Z racji tego, że wyłączenie takie przy obecnie dystrybuowanych tłumaczeniach wydaje się wręcz niezbędne (komputerowe tłumaczenie kontekstowe to nadal komputerowe, nieważne, ile by tam „sztucznej inteligencji” marketing wpompował), ale zarazem jego wyłączenie wpływało na język samego WordPressa i innych wtyczek (język angielski zamiast polskiego) postanowiłem, że muszę coś z tym zrobić… Zwłaszcza że ekipa z Elegant Themes jakby uparła się na to maszynowe tłumaczenie, pomimo „sugestii” użytkowników.

Strona ZTM w nowej odsłonie, do tego portal Warszawski Transport Publiczny na WordPressie, czyli kolejna medialna gównoburza

Wczoraj po internecie rozlała się informacja o tym, że Warszawski Transport Publiczny (strona WTP przejęła przy okazji część „zadań” od strony ZTM, która także się zmieniła) ma nową stronę. To akurat zapewne dostrzegł (prawie) każdy, kto w ostatnich dniach chciał choćby sprawdzić rozkład. No ładne to to nie jest, ale to nie wygląd czy nawet (okrojenie) funkcjonalności stoi za tym „rozgłosem” (a być może szkoda). Media – a za nimi niestety niektórzy politycy – podchwycili temat od absurdalnej strony, pokazując – moim zdaniem – swoją totalną niewiedzę w temacie, jak i to, że nieprzypadkowo mówi się, że dziennikarzy już właściwie nie ma, bo zastąpili ich pracownicy mediów…

Jest już WordPress 5.3 Kirk (i WooCommerce 3.8), a wraz z nim weryfikacja adresu e-mail administratora

Wczoraj miała miejsce premiera najnowszej odsłony WordPressa (5.3 Kirk) oraz WooCommerce (3.8). Zastanawiałem się, czy o tym pisać, ale uznałem, że raczej nie ma takiej potrzeby. Mamy nowy motyw domyślny (Twenty Twenty), wsparcie dla nadchodzącego PHP 7.4, a większość poprawek „dla cywili” sprowadza się do usprawnień w Guntenbergu, którego sam nie używam. Ale w WordPressie 5.3 pojawiła się też jedna opcja, która, choć moim zdaniem potrzebna, to – jak już widzę po reakcjach niektórych znajomych i klientów – może wywoływać lekkie zamieszanie/zdziwienie…

Gdy po zmianie PHP z wersji 5.6 na 7.2/7.3 zamiast strony (na WordPressie) widzisz biały ekran (WSoD) sprawdź moduły PHP

Jakiś czas temu przez formularz kontaktowy zwróciła się do mnie pewna dziewczyna od bloga kulinarnego, że „coś tam, coś tam na hostingu” i teraz zamiast strony (WordPress) wyświetla jej się biały ekran śmierci. I choć od niedawna WordPress posiada zabezpieczenie przed tego typu problemami (nie zawsze działa, ale jest… ;-)), to na stronie działał WordPress w wersji 4.9.x, a więc ostatniej sprzed ery Gutenberga (nadal wspierany). Z racji tego, że nie było czasu do stracenia, ustaliliśmy kwotę wynagrodzenia i przystąpiłem do reanimacji kulinarnego WordPressa…

Wykrywanie urządzeń mobilnych w języku PHP (biblioteka Mobile Detect) i w WordPressie (wbudowana funkcja)

Właśnie skończyłem prace nad jednym z modułów projektu, nad którym pracuję, a w którym to module ważna jest funkcja „wyłapywania” urządzeń mobilnych (głównie telefony, tablety z racji większego ekranu nie były już tak istotne). Operację taką w PHP można wykonać choćby za pomocą funkcji preg_match(), która może wyłapywać – po słowach kluczowych w nagłówku HTTP_USER_AGENT – przeglądarkę/system, i na bazie spróbować rozpoznać, czy mamy do czynienia z urządzeniem mobilnym. Jest to dość skuteczna metoda, tyle tylko, że wymaga ciągłego śledzenia „rynku przeglądarek mobilnych”, co w tym przypadku nie wchodzi(ło) w grę. Dlatego postanowiłem skorzystać z gotowca. A właściwie, to 2 gotowców…

Ukazała się stabilna wersja systemu Debian 10 Buster

Od jakiegoś już czasu przymierzam się do napisania nowego poradnika dotyczącego konfiguracji webserwera (Nginx + PHP 7.x + MySQL), bo od czasu pierwszej edycji minęło już naprawdę sporo czasu. W międzyczasie pojawiały się kolejne artykuły czy aktualizacje, ale… Z napisaniem tego artykułu czekałem na oficjalną premierę Debiana 10 (Buster), tak by poradnik miał szansę być aktualny przez dłuższy czas. Poradnik jeszcze przede mną, ale warto odnotować, że wczoraj premierę miał system Debian 10 w wersji stabilnej.

Nginx i błąd „address already in use” podczas startu usługi

Dziś, podczas rutynowej aktualizacji serwerów VPS, zgodnie ze wskazaniami systemu – wykonałałem restart kolejnych serwerów. Wszystkie uruchomiły się prawidłowo, na prawie wszystkich uruchomiły się również wszystkie wymagane usługi. Problem był z jednym serwerem – nie wystartowała usługa webserwera Nginx. Skrypt działający na serwerze i podejmujące proste próby naprawy w takiej sytuacji (głównie restart usług + monit) też nie był w stanie automatycznie uporać się z problemem. Po zalogowaniu się do konsoli po SSH i ręcznej próbie startu usługi otrzymałem komunikat, który już kiedyś widziałem, choć tym razem przyczyna musiała być inna…

Poważna podatność we wtyczce WP Live Chat Support (również w wersji „pro”) do WordPressa, którą należy pilnie zaktualizować

Nie będę leciał tzw. „clickbaitami”, czyli tytułami, które mają nakłonić jak największą liczbę osób do odwiedzenia danej strony w stylu „trwają masowe ataki na strony oparte na WordPressie”, czy też nie mniej alarmistycznie: „strony na WordPress zagrożone – wymagane działanie”, z których niczego konkretnego się nie dowiecie. Ale faktem jest, że jeśli korzystacie ze wtyczki WP Live Chat Support (również w wersji płatnej, czyli „pro”) do WordPressa, to czym prędzej dokonajcie aktualizacji, bo zagrożenie faktycznie jest dość poważne.

Loading

InfoWidget

InfoWidget

InfoWidget

Pin It on Pinterest