غیر فعال شدن ویرایش صفحات به دلیل خطا در المنتور
روز بخیر
در سایت یکی از مشتریان دو روز است که امکان ویرایش صفحات ممکن نیست و برای هر صفحه ای که در پنل ادمین باز میکنم، پیام خطای زیر نشان داده میشود.
Warning: Undefined array key “promotionWidgets” in /home/*********/public_html/wp-content/plugins/elementor/core/editor/loader/common/editor-common-scripts-settings.php on line 165
Fatal error: Uncaught TypeError: Elementor\Core\Editor\Loader\Common\Editor_Common_Scripts_Settings::ensure_numeric_keys(): Argument #1 ($array) must be of type array, null given, called in /home/*********/public_html/wp-content/plugins/elementor/core/editor/loader/common/editor-common-scripts-settings.php on line 165 and defined in /home/*********/public_html/wp-content/plugins/elementor/core/editor/loader/common/editor-common-scripts-settings.php:180 Stack trace: #0 /home/*********/public_html/wp-content/plugins/elementor/core/editor/loader/common/editor-common-scripts-settings.php(165): Elementor\Core\Editor\Loader\Common\Editor_Common_Scripts_Settings::ensure_numeric_keys() #1 /home/*********/public_html/wp-content/plugins/elementor/core/editor/loader/v2/editor-v2-loader.php(167): Elementor\Core\Editor\Loader\Common\Editor_Common_Scripts_Settings::get() #2 /home/*********/public_html/wp-content/plugins/elementor/core/editor/editor.php(355): Elementor\Core\Editor\Loader\V2\Editor_V2_Loader->enqueue_scripts() #3 /home/*********/public_html/wp-includes/class-wp-hook.php(324): Elementor\Core\Editor\Editor->enqueue_scripts() #4 /home/*********/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #5 /home/*********/public_html/wp-includes/plugin.php(517): WP_Hook->do_action() #6 /home/*********/public_html/wp-includes/script-loader.php(2299): do_action() #7 /home/*********/public_html/wp-includes/class-wp-hook.php(324): wp_enqueue_scripts() #8 /home/*********/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #9 /home/*********/public_html/wp-includes/plugin.php(517): WP_Hook->do_action() #10 /home/*********/public_html/wp-includes/general-template.php(3192): do_action() #11 /home/*********/public_html/wp-content/plugins/elementor/includes/editor-templates/editor-wrapper.php(31): wp_head() #12 /home/*********/public_html/wp-content/plugins/elementor/core/editor/loader/v2/editor-v2-loader.php(217): include(‘/home/*********/…’) #13 /home/*********/public_html/wp-content/plugins/elementor/core/editor/editor.php(160): Elementor\Core\Editor\Loader\V2\Editor_V2_Loader->print_root_template() #14 /home/*********/public_html/wp-includes/class-wp-hook.php(324): Elementor\Core\Editor\Editor->init() #15 /home/*********/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #16 /home/*********/public_html/wp-includes/plugin.php(517): WP_Hook->do_action() #17 /home/*********/public_html/wp-admin/admin.php(420): do_action() #18 /home/*********/public_html/wp-admin/post.php(12): require_once(‘/home/*********/…’) #19 {main} thrown in /home/*********/public_html/wp-content/plugins/elementor/core/editor/loader/common/editor-common-scripts-settings.php on line 180
راه حل چیست؟ لازم به توضیح است که المنتور به روز شده ولی نسخه پرو به روز نمیشود و پیام Unauthorized نشان داده میشود.
یعنی المنتور داره دنبال آرایهای به اسم promotionWidgets
میگرده، ولی به جای آرایه null
گرفته، و وقتی تابع ensure_numeric_keys()
رو صدا میزنه، کرش میکنه.
این مشکل جدیداً بعد از آپدیت Elementor (نسخههای 3.25+ یا 3.26+) زیاد گزارش شده. مخصوصاً زمانی که نسخه Elementor و Elementor Pro هماهنگ نباشن یا کش خراب شده باشه.
🚑 راهکار فوری (برای باز شدن پنل)
-
با FTP یا File Manager هاست برو به مسیر:
-
خط 165 که اینطوریه:
رو به صورت امن تغییر بده:
(اینطوری اگر
promotionWidgets
تعریف نشده باشه، یه آرایه خالی جایگزین میشه و خطا رفع میشه.)
⚠️ این کار سریعترین راه برای باز کردن پنل ادمینه، ولی بهتره بهعنوان پچ موقت باشه، چون با آپدیت بعدی افزونه دوباره بازنویسی میشه.
🛠 راهکار دائمی
-
هماهنگسازی نسخهها
-
برو به افزونهها و مطمئن شو هر دو:
-
Elementor (رایگان)
-
Elementor Pro
آخرین نسخه و هماهنگ با هم باشن.
-
-
خیلی وقتا مشکل از اینه که المنتور آپدیت شده ولی Elementor Pro قدیمی مونده.
-
-
پاک کردن کش
-
کش افزونهها (LiteSpeed، WP Rocket و …)
-
کش مرورگر
-
اگر Cloudflare فعاله، اون رو هم Purge کن.
-
-
بررسی PHP
-
مطمئن شو سایت روی PHP 8.0 یا 8.1 هست (روی 7.4 یا 8.2 بعضی وقتا باگ میده).
-
-
اگر همچنان خطا موند → بهتره یک بار Elementor و Elementor Pro رو پاک و دوباره نصب کنی (از آخرین نسخه).
اول مطمئن شو Elementor + Elementor Pro هماهنگ هستن. اگر عجله داری که سریع بتونی صفحات رو ویرایش کنی، همون پچ موقتی که بالا گذاشتم رو بزن.
اگر افزونه هم آپدیت نمیشه یکبار نسخه جدید بگیر از یک سایتی مثل Elementorfa.ir و دستی آپدیت بکن و مشکل حل میشه
اگه باز نشد یکبار کل افزونه هاتو غیر فعال و فعال بکن
باز نشد همرو غیرفعال کن و یکی یکی فعال کن ببین مشکل از کدوم افزونس