Skocz do zawartości

[php7] Warning: sizeof()... Ostrzeżenie na komórkach


Ramalek

Rekomendowane odpowiedzi

Po przejściu na php 7 wtyczka do wersji mobilne Wordpress (dokładniej WP Smart mobile) zaczęła mi w niektórych miejscach wyświetlać ostrzeżenie:

Warning: sizeof(): Parameter must be an array or an object that implements Countable in /home/sciezka dalej/ on line 268

Przykład można zobaczyć

https://www.eit-centrum.waw.pl/najtanszy-leasing-gdzie/

  z komputera nie wyskoczy,  trzeba  wejść bezpośrednio z komórki, bo jak na komórce się wejdzie z Google, to otworzy się AMP. Tak wiem niby po co 2 wersje mobilne, a no potrzebne, bo AMP ma też swoje wady i niektóre rzeczy i linki z AMP przenoszą do normalne starej wersji mobilnej. Dlatego nie chciałbym się jej pozbywać.

 

Linia kodu wtyczki:

 

function wps_get_category()
{
	$categories = get_the_category();
	
	if( sizeof($catgories) > 0 )
		return false;
	else
		return $categories[0]->cat_name;
}
endif;

 

Dokładnie to to jest 268:

if( sizeof($catgories) > 0 )

 

Ktoś wie może jak to wyedytować, żeby alert znikł?

Sorry za literówkę w tytule to nie błąd, tylko nie mogę edytować. Jak ktoś ma uprawnienia to proszę o poprawienie. Miało być oczywiście "ostrzeżenie"

Odnośnik do komentarza
Udostępnij na innych stronach

23 minuty temu, Ramalek napisał:

Ktoś wie może jak to wyedytować, żeby alert znikł? 

Wpisz w google

Cytat

sizeof(): Parameter must be an array or an object that implements
lub
wordpres sizeof(): Parameter must be an array or an object that implements

Jest masa odpowiedzi, wiec wybierz odpowiednią dla siebie.

 

 

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

1 minutę temu, Ramalek napisał:

Ja nie znam prawie php. Jedynie mogę spróbować wywalić całą funkcję.

Zawsze możesz cofnąć się do poprzedniej kompatybilnej z zastosowanymi wtyczkami wersji PHP.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

No właśnie nie bardzo, bo mam hostinghouse i w pomocy mi powiedzieli, że dla starszych wersji php mają więcej ograniczeń na serwerach, a i tak ten serwer jest tak ograniczony w korzystaniu z zasobów, że WP 5 ledwie działa. Chyba czas zmienić hosting. No ale i tak kiedyś na te php będzie trzeba przyjść.

 

Na maila mi przyszło, że pierwotna twoja wypowiedź zawierała jakiś link, ale chyba jakiś moderator skasował. To chodzi o coś z nawiasami?

Odnośnik do komentarza
Udostępnij na innych stronach

47 minut temu, ar4 napisał:

if( $catgories > 0 )

Hmmm zależy jakiego typu jest ta zmienna i co przechowuje np z tego zapisu wynika, że prawda jeśli $categories jest typu integr i większa od 0.

Ale funkcja sizeof — Alias of count(), która to zwraca liczbę elementów w tablicy, wiec oczekuje tablicy . Natomist z komunikatu błędu wynika iż

Cytat

Warning: sizeof(): Parameter must be an array or an object

nie zawsze mamy oczekiwany TYP  ... Tak, że trochę ten warunek by trzeba było rozbudować ...


Ale jak mu działa i do zastosowań amatorskich możne być ;) 

 

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności