RSS
RSS

Paginacja własnych pętli WordPressa we frameworku Genesis


Kategorie: Tworzenie stron, WordPress, Wszystkie

0

We frameworku Genesis z jakiegoś powodu używanie własnej pętli w home.php nie działa, tzn. druga i kolejne poza pierwszą strony paginacji dają błąd 404 not found.

Problem ten występuje często – jest wiele zapytań o niego w internecie, natomiast żadnych konkretnych rozwiązań. Przyczyna problemu nie jest znana. Ogólnie framework ten jest fatalny – niesamowicie komplikuje prosty i wydajny system szablonów WordPressa.

Najprostszym rozwiązaniem jest zastsowanie własnej strony błędu i usunięcie z ustawień WordPressa przypisania podstrony bloga w sekcji Ustawienia → Czytanie (należy ustawić na –Wybierz–).

Plik php z pętlą należy nazwać inaczej, niż home.php (np. page-artykuly.php) i w jego pierwszej linii wpisać:

<?php /* Template Name: Artykuly */

Następnie w ustawieniach podstrony Artykuły należy wybrać szablon o nazwie Artykuly. Wtedy paginacja powinna działać poprawnie.

Poniżej zamieszczam orientacyjny kod pliku page-artykuly.php (źródło).

Ciekawy błąd PHP 7: Parse error: syntax error, unexpected end of file in the line…


Kategorie: Administracja, Nowe technologie, Tworzenie stron, WordPress, Wszystkie

0

Przełączając jeden z serwerów na PHP 7 z PHP 5.3 powstał ciekawy błąd 500 (internal server error), z następującą treścią:

Parse error: syntax error, unexpected end of file nazwa pliku, w tym przypadku functions.php WordPressa in the line numer ostatniej linii pliku

Pierwszą myślą jest niedomknięty nawias, średnik, przecinek itp… Okazało się jednak, że problem leżał gdzie indziej.

Otóż na serwerze konfiguracja PHP w wersji 7 miała domyślnie dyrektywę PHP short_open_tag ustawioną na Off, co powodowało, że użycie kodu <? do rozpoczęcia bloku PHP (zamiast alternatywnego <?php) owocowało właśnie rzeczonym błędem.

Tego skrótowego znacznika otwarcia kodu PHP używa mnóstwo projektów, zaś zlokalizowanie problemu okazało się dosyć trudne – treść błędu niczego konkretnego nie mówiła (wskazywała na ostatnią, pustą linię pliku), zaś wykrywacze błędów PHP nie zgłaszały pomyłek. Również narzędzia online nie pomagały – zazwyczaj błędów wcale nie sygnalizowały wcale, a jeśli już, to bez wskazywania, gdzie one występują i czemu.

Sam problem pojawiał się więc nawet przy użyciu kodu ?><?

Rozwiązanie problemu

Najprostszą metodą jest ustawienie w pliku php.ini dyrektywy na On:

short_open_tag = On ;

Nie zawsze jednak jest to możliwe. W tym przypadku dostawca serwera hostingowego zablokował możliwość edytowania ustawień PHP, także przez funkcję PHP: @ini_set('short_open_tag', 'On');

Pozostało więc żmudne zmienianie każdego wystąpienia otwierającego znacznika PHP <? na <?php

Niestety przy mnóstwie dodatków do systemu WordPress i jego aktualizacjach taka konfiguracja serwera oznacza, że w każdej chwili witryna może przestać działać.

Dlatego też tak istotne jest, by swoje strony umieszczać na profesjonalnym hostingu, a nie byle tańszym.

Dlaczego taka dyrektywa istnieje?

Znaki <? oznaczają także początek kodu języka XML. Jeśli więc w projekcie PHP używa się XMLa, to mogą powstać problemy z nieprawidłowym włączeniem interpretera PHP, gdy używany jest kod XML.

W praktyce takie sytuacje się raczej nie zdarzają i wiele ludzi stosuje skrótowe znaczniki otwarcia kodu PHP. Jak jednak widać po tym przykładzie, jednak należy stosować pełny zapis znacznika otwarcia.

DreamHost – efety zmiany hostingu współdzielonego na VPS


Kategorie: Administracja, Optymalizacja, Tworzenie stron, Wszystkie

0

Hosting DreamHost mimo, że bardzo dobry, ma swoje ograniczenia. Strony z czasem go przerastają. Efektem są błędy 500 internal server error lub 404 not found, ponieważ procesy httpd, które przekraczają limity RAMu lub czasu procesora, są zabijane w trakcie wykonywania, co owocuje takimi właśnie błędami.

Aby przekonać się, ile razy procesy były zabijane, można zapytać wsparcie techniczne o liczbę wykonań prockill. U nas sięgała już kilka tysięcy miesięcznie – tyle razy strony nie ładowały się poprawnie (choć w zdecydowanej większości przy ich administracji, ponieważ użytkownicy mają większość zasobów ładowanych z CloudFlare).

W takiej sytuacji najprościej jest przerzucić się na ich pakiet Virtual VPS, który różni się w praktyce tym, że można ustawiać pojemność pamięci RAM i monitorować czas zużycia procesora, co niweluje powyższe problemy. Można także zostawiać włączone na stałe procesy w pamięci, co może być bardzo przydatne dla informatyków.

Wykonaliśmy testy przed i po zmianie hostingu Shared na Virtual VPS dla witryny opartej o WordPressa.

Błąd podczas aktualizacji WordPressa: „Aktualnie przeprowadzana jest inna aktualizacja”


Kategorie: Administracja, WordPress, Wszystkie

2

Czasami zdarza się, że WordPress wykonuje samoczynnie aktualizacje.

Niekiedy też coś się nie powiedzie i mimo, że aktualizacja jakiegoś elementu (wtyczki, motywu, systemu) nie jest realizowana, to system w trakcie próby wykonania ręcznej aktualizacji wyświetla powiadomienie: „Aktualnie przeprowadzana jest inna aktualizacja” lub – w języku angielskim: „Another update is currently in progress”.

Jest to spowodowane włączeniem się mechanizmu zapobiegania wykonywaniu dwóch jednoczesnych aktualizacji.

Wszystko wróci do normy po 15 minutach – mechanizm sam odblokuje się i możliwe będzie ręczne przeprowadzenie aktualizacji.

Ekstremalne przyspieszanie stron na WordPressie dzięki PHP 7 i OPcache


Kategorie: Administracja, Nowe technologie, Optymalizacja, Tworzenie stron, WordPress, Wszystkie

2

Wiele firm hostingowych wdrożyło już wersję 7 języka PHP na swoje serwery, która jest znacznie szybsza od poprzednich (nawet dwukrotnie).

Jednocześnie zauważyłem, że wiele z tych firm (np. nazwa.pl, DreamHost) domyślnie ma wyłączone wsparcie dla mechanizmu OPcache, który według moich testów przyspiesza ładowanie stron na WordPressie i sklepach na WooCommerce dwu- a nawet trzykrotnie! Tak – 200% do 300%!

Najwięcej zyskują duże strony, jak sklepy. Czas ich generowania potrafił spaść z 10 sekund do 3 sekund.

Strony niezbyt skomplikowane, jak niniejsza, zyskują przyspieszenie rzędu 10% (czas ładowania spadł z 0,6s do 0,5s).

Wystarczy zapytać dostawcę hostingu, w którym miejscu można włączyć tą funkcję, a strona magicznie przyspieszy. Wiedza techniczna zazwyczaj nie jest wymagana. Dla WordPressa trzeba jednak zainstalować wtyczkę OPcache Dashboard, która automatycznie wyczyści cache po aktualizacji WordPressa, co jest niekiedy potrzebne.

Będzie to kosztem pamięci RAM, ale jeśli mamy zapas około 100MB (a tak zazwyczaj jest), to nie powinno to być żadnym problemem.

Strona 1 z 2612345...1020...Ostatnia »