Frissítés után hibaüzenet Sitepress puginnál


#1

Sziasztok!

Wordpress majd WPML bővítmények frissítése után ezt a hibaüzenetet kaptam:

Warning : Illegal string offset ‘en/0’ in /web/…/wp-content/plugins/sitepress-multilingual-cms/sitepress.class.php on line 9434

Warning : Cannot assign an empty string to a string offset in /web/…/wp-content/plugins/sitepress-multilingual-cms/sitepress.class.php on line 9434

A hibaüzenetekből kifolyólag a nyelv beállítási problémája lehet…

Keresem a megoldást,egyenlőre még nem jutottam semmire :open_mouth:

Ha tud megoldást erre valaki,hálás leszek! :slight_smile:

Üdvözlettel Balázs


#2

a 9434.sor elé rakd be ezt.
if(!empty($value)){
a 9435.sor után meg }
a gond az hogy valahol a $value üres, és ezért dob warningot(nem hibát)


#3

De hol üres? vagy nem látok már jól valamit? :slight_smile:


#4

Valóban az a baj, hogy a $value nem tömb, hanem egy string - lehet hogy üres is

Illegal string offset ‘en/0’

a foreach végig is menne rajta, mert type cast-olva van (array)$value tömbbé, de a cikluson belül az értékadásban a PHP a string egyik karakterére lát hivatkozást $value[...]

két problémát kéne kezelni

  1. ha üres string a $value
  2. ha nem üres string a $value
  3. illetve ha bármilyen cél el kívánsz érni - akár nem üzletit - akkor fontold meg Polylang-ra való migrálást, mert az élhető megoldás, a WPML nem az (a gyártó hozzáállása miatt)

Tehát

  • a foreach sorban nem kéne type cast-olni
  • előtte kéne $value = (array) $value;
  • illetve abba a hosszú if-ben kezelni az üres string állapotot: && '' !== $value

Kész.