همانطور که میدونید نسخه PHP 8 از انتشارش بیشتر از چند ماه نمیگذره به همین خاطر هم تا Library یا و افزونه های مختلف با این نسخه از پی اچ پی فیکس و هماهنگ بشن مطمئنا مدت زمانی طول میکشه. اگر در بستر هسته وردپرستون با افزونه ای کار کردید که با نسخه php 8 هماهنگ نبود و به خطای __wakeup مواجه شد به روش زیر عمل کنید.
این خطا عموماً به شکل های زیر خودش رو نشون میده. در زیر به تعدادی ازین حالات اشاره میکنیم.
نمونه اول:
1 |
Warning: The magic method Post_Views_Counter::__wakeup() must have public visibility in wp-content\plugins\post-views-counter\post-views-counter.php on line 98 |
نمونه دوم:
1 |
Warning: The magic method Nextend\Framework\Pattern\SingletonTrait::__wakeup() must have public visibility in C:\xampp\htdocs\Tutorial\wp-content\plugins\smart-slider-3\Nextend\Framework\Pattern\SingletonTrait.php on line 22 |
نمونه سوم:
1 |
PHP message: PHP Warning: The magic method Theme_My_Login_Admin::__wakeup() must have public visibility in [...]/wp-content/plugins/theme-my-login/admin/class-theme-my-login-admin.php on line 157 |
نمونه چهارم:
1 |
PHP message: PHP Warning: The magic method Theme_My_Login::__wakeup() must have public visibility in [...]wp-content/plugins/theme-my-login/includes/class-theme-my-login.php on line 374 |
نمونه پنجم:
1 |
Warning: The magic method Vc_Manager::__wakeup() must have public visibility in G:\xampp\htdocs\mytheme\wp-content\plugins\js_composer\include\classes\core\class-vc-manager.php on line 203 |
برای حل این موضوع یک راهکار بسیار ساده دارید. کافی ست به مسیر اشاره شده در خطا برید و مطابق کدهای زیر متن کد را تغییر بدید.
1 2 |
private function __wakeup() { } |
تغییر کند به:
1 2 3 |
public function __wakeup() { } |
در واقع مقدار private را به public تغییر میدیم.
با تشکر از شما