Visser Labs – Wtyczki WooCommerce

  1. Strona główna
  2. Baza wiedzy
  3. WooCommerce Store Exporter Deluxe
  4. Rozwiązywanie problemów
  5. Rozwiązywanie problemów z błędem dynamicznej właściwości PHP 8.2 podczas eksportu

Rozwiązywanie problemów z błędem dynamicznej właściwości PHP 8.2 podczas eksportu

Widzisz w swoim dzienniku błędów linię Creation of dynamic property ... is deprecated po eksporcie? Oto, co oznacza komunikat, jak go zatrzymać i co sprawdzić, jeśli się pojawi. Dotyczy to Store Exporter Deluxe for WooCommerce w wersji PHP 8.2 lub nowszej.

Powiadomienie o dynamicznej właściwości pojawia się po eksporcie

Co się dzieje

Uruchamiasz eksport w wersji PHP 8.2 lub nowszej. Następnie dziennik błędów PHP lub góra ekranu administratora pokazuje linię podobną do tej:

PHP Deprecated:  Creation of dynamic property Automattic\WooCommerce\Admin\Overrides\Order::$followup_optout is deprecated in /wp-content/plugins/woocommerce-store-exporter-deluxe/includes/order.php

Nazwa po ::$ zmienia się w zależności od witryny. Możesz zamiast tego zobaczyć klucz niestandardowego pola meta.

Dlaczego tak się dzieje

PHP 8.2 oznacza powszechny wzorzec kodowania jako przestarzały: dodawanie wartości do obiektu pod nazwą, której obiekt nie deklaruje. PHP 8.2 rejestruje powiadomienie za każdym razem, gdy kod to robi.

Store Exporter Deluxe w wersji 5.4.1 i nowszych zawiera aktualizacje dla PHP 8.2, które obejmują najczęstsze przypadki.

Powiadomienie o wycofaniu jest ostrzeżeniem o przyszłych wersjach PHP. Nie jest to błąd krytyczny i samo w sobie nie zatrzymuje działania PHP podczas eksportu.

Jak to naprawić

Zaktualizuj Store Exporter Deluxe do wersji 5.4.1 lub nowszej.

Sprawdź swoją wersję PHP

  1. Przejdź do Narzędzia → Stan witryny.
  2. Kliknij kartę Informacje.
  3. Otwórz sekcję Serwer.
  4. Znajdź wiersz Wersja PHP.
Zakładka Informacje o stanie witryny z otwartą sekcją Serwer i podświetlonym wierszem wersji PHP

Jeśli wersja to 8.1 lub niższa, linia nie pochodzi z kontroli dynamicznej właściwości PHP 8.2. Przeczytaj pełną linię dziennika lub zapytaj swojego hosta, który kod ją zarejestrował.

Zaktualizuj Store Exporter Deluxe

  1. Przejdź do Wtyczki → Zainstalowane wtyczki.
  2. Znajdź Store Exporter Deluxe for WooCommerce na liście.
  3. Sprawdź numer wersji pod opisem wtyczki.
  4. Jeśli wersja jest niższa niż 5.4.1, kliknij zaktualizuj teraz w powiadomieniu o aktualizacji poniżej wtyczki.
Lista zainstalowanych wtyczek z podświetloną wersją Store Exporter Deluxe for WooCommerce i linkiem do aktualizacji teraz

Nie widzisz powiadomienia o aktualizacji? Store Exporter Deluxe sprawdza aktualizacje tylko wtedy, gdy Twoja licencja jest aktywna. Sprawdź status swojej licencji lub pobierz najnowszą wersję z swojego konta i zainstaluj ją.

Uruchom ponownie eksport

  1. Uruchom ten sam eksport, który pokazał powiadomienie.
  2. Otwórz swój dziennik błędów PHP.
  3. Sprawdź, czy nie pojawiają się nowe linie Creation of dynamic property z woocommerce-store-exporter-deluxe.

Jeśli nadal pojawia się wiersz z woocommerce-store-exporter-deluxe, wykonaj kroki opisane w sekcji Powiadomienie nadal się pojawia po aktualizacji.

Nie wiesz, gdzie znajduje się dziennik błędów? Zapytaj swojego hostingodawcę. Wielu hostingodawców pokazuje go w panelu sterowania hostingiem. Jeśli włączyłeś rejestrowanie debugowania WordPress, plik zwykle znajduje się w wp-content/debug.log.


Powiadomienie nadal się pojawia po aktualizacji

Co się dzieje

Używasz wersji 5.4.1 lub nowszej, ale nadal pojawia się wiersz Creation of dynamic property.

Dlaczego tak się dzieje

Wiele wtyczek i motywów wywołuje to samo powiadomienie PHP 8.2. Wiersz może pochodzić z innego kodu lub może być starym wpisem napisanym przed aktualizacją.

Kilka ustawień eksportu i dodatków może nadal rejestrować to powiadomienie z Store Exporter Deluxe. Krok 4 poniżej obejmuje ten przypadek.

Jak to naprawić

  1. Sprawdź datę i godzinę na początku wiersza dziennika. Zignoruj wpisy sprzed aktualizacji.
  2. Przeczytaj ścieżkę pliku, która następuje po słowie in pod koniec wiersza.
  3. Jeśli ścieżka nie zawiera woocommerce-store-exporter-deluxe, skontaktuj się z autorem wtyczki lub motywu znajdującego się w tej ścieżce.
  4. Jeśli ścieżka zawiera woocommerce-store-exporter-deluxe, otwórz zgłoszenie pomocy technicznej.

W swoim zgłoszeniu wklej pełny wiersz dziennika. Podaj również wersję Store Exporter Deluxe, typ przeprowadzonego eksportu oraz wszelkie dodatki lub pola niestandardowe w tym eksporcie.


Powiadomienia o wycofaniu pojawiają się na ekranie w Twoim sklepie na żywo

Co się dzieje

Powiadomienia o wycofaniu są drukowane na górze stron administracyjnych lub na froncie Twojego sklepu.

Dlaczego tak się dzieje

Tryb debugowania WordPress jest włączony (WP_DEBUG ma wartość true) i domyślnie pokazuje powiadomienia PHP na ekranie. Jest to przydatne na stronie testowej, ale nie na żywym sklepie.

Jak to naprawić

Zamiast tego wysyłaj powiadomienia do pliku dziennika. W pliku wp-config.php upewnij się, że te wiersze znajdują się powyżej wiersza zaczynającego się od /* That's all, stop editing!:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Powiadomienia są następnie wysyłane do wp-content/debug.log i przestają być wyświetlane na ekranie. Jeśli nie potrzebujesz dziennika, zamiast tego ustaw WP_DEBUG na false. Jeśli WP_DEBUG ma już wartość false, a powiadomienia nadal się pojawiają, poproś swojego hostingodawcę o wyłączenie display_errors w ustawieniach PHP. Zobacz Debugowanie w WordPress, aby uzyskać wszystkie ustawienia debugowania.


Często zadawane pytania

Czy muszę wrócić do starszej wersji PHP?
Nie. Zamiast tego zaktualizuj Store Exporter Deluxe. Wtyczka obsługuje PHP 7.4 i nowsze, a Store Exporter Deluxe w wersji 5.4.1 i nowszych zawiera aktualizacje dla PHP 8.2.
Które eksporty pokazały powiadomienie?
Eksporty zamówień i eksporty klientów. Aktualizacja do wersji 5.4.1 lub nowszej obejmuje najczęstsze przypadki dla obu. Kilka ustawień eksportu i dodatków może nadal rejestrować powiadomienie. Zobacz Powiadomienie nadal się pojawia po aktualizacji.

Potrzebujesz pomocy?

Jeśli masz pytanie lub napotkasz jakiekolwiek problemy, jesteśmy tutaj, aby pomóc.

Czy ten artykuł był pomocny?

Powiązane artykuły

Zasoby i pomoc