فرناز شایانی 

بهمن 11, 1399

آموزش رفع خطای جی کوئری وردپرس ۵.۵

بروزرسانی و آپدیت وردپرس به جدیدترین و بهترین نسخه جهت محافظت از وب سایت در برابر هکرها ضروری است. همچنین می‌توانید با خرید هاست وردپرسی، بازدهی، عملکرد و امنیت سایت خود را افزایش دهید.

 

خطای اخیر jQuery در وردپرس ۵.۵، امکان شکست حدود ۲۴۰۰ پلاگین وردپرس و حدود ۲۵۰ تم را ممکن است به دنبال داشته باشد. اگر پس از ارتقا به وردپرس ۵.۵ با مشکل روبرو شده‌اید، در این مقاله توضیح خواهیم داد که چگونه خطای jQuery را رفع سازید. در ادامه ۴ روش برای حل این مشکل ارائه خواهیم داد.

 

چرا وردپرس۵.۵ برخی از پلاگین‌ها و قالب ها را خراب می‌کند؟

قبل از انتشار نسخه ۵.۵، وردپرس نسخه ۱.۱۲.۴ کتابخانه JavaScript jQuery را داشت. این نسخه در سال ۲۰‍۱۶ منتشر شد. این نسخه از jQuery از Internet Explorer ۶، ۷، ۸ پشتیبانی می‌کرد. اخیرا تیم وردپرس روند بروزرسانی نسخه jQuery را که همراه با وردپرس می‌باشد، آغاز کرده است. وقتی وردپرس ۵.۵ را ارتقا می‌دهید، ابزار jQuery Migrate دیگر به طور پیش فرض فعال نیست.

 

متاسفانه، این انتقال ساده نبوده، زیرا برخی از تم‌ها و افزونه‌های وردپرس هنوز به اسکریپت‌های قدیمی jQuery متکی هستند. برای مضامین و افزونه‌هایی که کد قدیمی‌تر را اجرا می‌کنند، این تغییر می‌تواند باعث رفتارهای غیرمنتظره‌ای شود. انجمن وردپرس حتی مواردی را در مورد پلاگین‌های معروف مانند Classic Editor نیز گزارش کرده است.

 

حتی اگر یک تم با وردپرس ۵.۵ سازگار باشد، اگر این ویژگی دارای افزونه‌ای باشد که کد منسوخ شده‌ای را اجرا کند، ممکن است با مشکلاتی روبرو شود. به عنوان مثال، بسیاری از تم‌های پریمیوم با افزونه‌های page builder همراه هستند. حتی اگر خود تم نیاز به مهاجرت به جی کوئری نداشته باشد، اگر page builder آن این ویژگی را نیاز داشته باشد، کاربران با مشکل روبرو می‌شوند. تخمین زده شده است که حدود ۲۵۰ تم مستقیماً تحت تأثیر بروزرسانی jQuery Migration قرار می‌گیرند. با این حال، افزونه‌های bundled می‌توانند برای تم‌های بیشتری مشکل ساز شوند.

 

چرا اکنون وردپرس به مشکل جی کوئری پرداخته است؟

همواره jQuery یک موضوع بحث برانگیز در جامعه وردپرس بوده است. آرون جوربین ۴ سال پیش تصمیم گرفت تا jQuery Migration غیرفعال گردد. در این بین وی پیشنهاد کرده است که وردپرس به شاخه jQuery 3.x مهاجرت کند. انتقال جی کوئری، توسعه دهندگان و کاربران وردپرس را مجبور ساخته تا امنیت و سازگاری را متعادل کنند. بروزرسانی به جدیدترین نسخه jQuery به رفع شکاف‌های امنیتی و محافظت از سایت های وردپرس در برابر هکرها کمک می‌کند. با این حال، بسیاری از تم‌ها و افزونه‌ها به نسخه‌های قدیمی jQuery متکی هستند.

 

همچنین jQuery در جبهه بسیاری از وب سایت‌هایی که از نسخه‌های قدیمی اینترنت اکسپلورر پشتیبانی می‌کنند، گنجانده شده است. به همین دلیل وردپرس برای حفظ سازگاری با این مرورگرهای قدیمی، نمی‌تواند یک شبه و به سادگی به جدیدترین نسخه jQuery برود.

 

patch حاوی نسخه جدیدتر jQuery و jQuery Migrate در سال ۲۰۱۸ ایجاد شده است. با این وجود، این بروزرسانی باعث ایجاد مشکلاتی در هسته وردپرس، به ویژه منوهای Customizer شد. همچنین بحثی در مورد اینکه آیا لازم است وردپرس به Vanilla JS برای هسته وردپرس تغییر کند یا خیر وجود دارد و به توسعه دهندگان این امکان را می‌دهد که در صورت لزوم jQuery 3.0 را بارگیری کنند.

 

در نهایت، تصمیم بر این شد که jQuery Migrate 1.x در وردپرس ۵.۵ حذف شود. این امر به توسعه دهندگان پلاگین و تم و صاحبان وب سایت کمی زمان می‌دهد تا خود را برای مهاجرت نهایی آماده کنند. پس از ۴ سال بحث و گفتگو، تیم وردپرس تصميم گرفت كه اقدامات مختل كننده حداقل ۳ مرحله باشد. این روش با حذف jQuery Migrate 1.x در وردپرس ۵.۵ شروع شد.

 

وردپرس چگونه به این مسئله پاسخ داده است؟

پیش از انتشار نسخه ۵.۵، تیم وردپرس در مورد شناسایی تمام افزونه‌ها و تم‌هایی که تحت تأثیر jQuery migration خواهند بود، بحث و تبادل نظر کردند. تصمیم برای حذف jQuery Migrate 1.x در ماه ژوئن در Make WordPress Core اعلام شد. تیم وردپرس طی تلاش برای آماده سازی جامعه، لینک‌هایی را در ارتباط با برخی منابع مفید به اشتراک گذاشتند.

 

خطای اجرای JavaScript وردپرس ۵.۵

علاوه بر خطای jQuery در وردپرس ۵.۵ برخی از JavaScript object ها حذف شدند. در وردپرس ۵.۵، ارجاع هر یک از objectهای زیر اجرای JavaScript را متوقف خواهد کرد:

adminCommentsL10n
attachMediaBoxL10n
authcheckL10n
commentL10n
commonL10n
inlineEditL10n
navMenuL10n
postL10n
plugininstallL10n
privacyToolsL10n
setPostThumbnailL10n
tagsl10n
tagsSuggestL10n
userProfileL10n
wp.themePluginEditor.l10n
wp.updates.l10n
wpColorPickerL10n
wpPointerL10n
wpWidgets.l10n

 

اگر سایت شما به تم یا افزونه‌ای آسیب دیده متکی است، باید در اسرع وقت آن را به نسخه ۵.۵.۱ به روز کنید. وردپرس به توسعه دهندگان قالب و پلاگین فرصت بیشتری داده تا نرم افزار خود را به روز کنند. با این حال، وردپرس در حال حاضر قصد دارد این کد جایگزین را در وردپرس ۵.۷ حذف کند، بنابراین فقط یک رفع موقت است.

 

نحوه تشخیص خطاهای JavaScript

اگر پس از بروزرسانی وردپرس ۵.۵ با رفتار عجیبی روبرو شدید، می‌توانید با استفاده از یک toolkit مانند Chrome DevTools بررسی کنید که آیا این مسئله مربوط به jQuery است یا خیر. در ادامه مثالی از Google Chrome آورده شده است که عملکرد همه مرورگرهای اصلی مشابه آن می‌باشد. با کلیک روی آیکون منوی سه نقطه‌ای در گوشه بالا سمت راست Chrome می‌توانید به کنسول دسترسی پیدا کنید. در مرحله بعد، گزینه More Tools> Developer Tools را انتخاب کنید.

 

اگر کنسول به طور خودکار باز نمی‌شود، باید تب Console را انتخاب کنید. متناوباً، با استفاده از میانبر صفحه کلید Command + Option + J در macOS و Control + Shift + J در ویندوز و لینوکس می‌توانید مستقیماً به پنل کنسول بروید.

 

اگر کنسول خطایی را نشان نمی‌دهد، صفحه را دوباره لود کنید. برخی از خطاها فقط هنگام لود صفحه ایجاد می‌شوند.

 

اگر کنسول خطا را نشان داد، می‌توانید با انتخاب لینک error’s accompanying، اطلاعات بیشتری را مشاهده کنید. این کنسول باید نوع خطا، محل خطا و شماره خطا را نشان دهد.

 

اگر با پیام Uncaught ReferenceError مواجه شدید، آن را انتخاب کنید. با این کار باید صفحه جدیدی حاوی پیغام خطا دیده شود.. برای کسب اطلاعات بیشتر در مورد این خطا، روی آیکون X قرمز رنگ آن کلیک کنید.

 

با بررسی دقیق تمام اطلاعات، باید بتوانید علت ایجاد خطا را تشخیص دهید. اگر درباره یک خطای خاص مطمئن نیستید، می‌توانید متن خطا را در یک موتور جستجو سرچ کنید. همچنین می‌توانید پیام خطا را به صورت کامل به یک سایت پرسش و پاسخ متمرکز بر فناوری مانند Stack Overflow ارسال نمایید.

 

همان طور که اشاره کردیم، می‌توانید با استفاده از Firefox Web Console یا Microsoft Edge DevTools خطاها را بررسی کنید. با این حال، اگر از Safari استفاده می‌کنید، قبل از اینکه بتوانید نصب وردپرس خود را عیب یابی کنید، باید Developer Tools را فعال کرده باشید.

 

در safari نوار ابزار Safari> Preferences> Advanced را انتخاب کنید، سپس در نوار منو Show Develop menu را انتخاب کنید. اکنون می‌توانید صفحه ای را که با این مشکل روبرو هستید را باز کرده و گزینه Develop> Show Error Console را انتخاب نمایید.

 

۴ روش رفع خطای jQuery در وردپرس

اگر مطمئن هستید که خطای jQuery باعث ایجاد مشکل در وب سایت شما شده است، برای رفع آن می‌توانید اقدامات زیر را انجام دهید.

 

۱. تمام تم‌ها و پلاگین‌های خود را به روز کنید.

از زمان انتشار وردپرس ۵.۵، توسعه دهندگان تم و پلاگین برای بروزرسانی نرم افزار خود سخت کار کرده‌اند. اگر از تم یا افزونه قدیمی استفاده می‌کنید، ممکن است با مشکلی روبرو شوید که قبلا توسط افراد دیگر برطرف شده است. برای بررسی بروزرسانی‌های موجود، به داشبورد وردپرس خود رفته و گزینه Updates را انتخاب کنید. از اینجا می‌توانید تمام تم‌ها و افزونه‌ها را به روز کنید.

 

اگر یک یا چند آپدیت را نصب کرده‌اید، بررسی کنید که آیا با این کار مشکل شما برطرف شده است یا خیر. توصیه ما این است که با استفاده از یک جعبه ابزار مانند Chrome DevTools، سایت خود را عیب یابی کنید.

 

۲. با توسعه دهنده و دولوپر تماس بگیرید.

اگر جدیدترین آپدیت را نصب کرده‌اید و هنوز با مشکل روبرو هستید، تماس با توسعه دهنده پلاگین ایده خوبی است. ممکن است توسعه دهنده از درگیری jQuery اطلاع نداشته باشد، یا ممکن است بخواهد یک بروزرسانی جدید را منتشر کند.

 

اگر تم یا افزونه‌ای را از فهرست رسمی افزونه‌های وردپرس دانلود کرده‌اید، باید لیست پلاگین‌ها را بررسی کنید. این لیست‌ها اغلب شامل اطلاعاتی درباره وب سایت‌ها، انجمن‌ها یا پروفایل‌های شبکه‌های اجتماعی است که می‌توانید با تیم پشتیبان پلاگین یا تم مورد نظر تماس بگیرید. گاهی اوقات، این لیست‌ها حتی ممکن است حاوی جزئیات تماس مستقیم توسعه دهنده باشند.

 

برخی از توسعه دهندگان تصمیم می‌گیرند اطلاعات تماس خود را در سطح کد وارد کنند. اگر تم یا افزونه‌ای را بر روی رایانه خود دانلود کردید، سعی کنید پوشه را از حالت فشرده خارج کرده و فایلی را که حاوی جزئیات برنامه نویس است جستجو کنید. فایل README معمولاً مکان خوبی برای شروع است. این فایل‌ها اغلب حاوی نام عوامل اصلی یا روند تماس با پشتیبانی هستند.

 

هنگامی که در مورد مسائلی که تجربه می‌کنید با سازنده تماس می‌گیرید، باید تا آنجا که ممکن است اطلاعات را اعلام نمایید. اگر با استفاده از یک toolkit مانند Chrome DevTools خطا را یافتید، به اشتراک گذاری این داده‌ها را با افزونه یا توسعه دهنده تم ایده خوبی است.

 

۳. بررسی کنید که آیا پلاگین یا تم مورد نظر ساپورت می‌شود؟

فهرست رسمی افزونه‌های وردپرس تاریخ آخرین بروزرسانی هر تم و پلاگین را نمایش می‌دهد. انواع نرم افزارهای مختلف بیشتر به بروزرسانی‌های مکرر نیاز دارند. با این حال، اگر افزونه یا تمی در مدت شش ماه به روز نشده باشد، باید با احتیاط آن را آپدیت نمود.

 

اگر یک افزونه یا تم دارای وب سایت یا رسانه‌های اجتماعی باشد، می‌توانید این موارد را برای فعالیت اخیر بررسی کنید. توییت‌های جدید یا یک وبلاگ به طور مرتب به روز شده، نشان می‌دهد که تم یا پلاگین در دست توسعه هنوز فعال است. تقریباً همه آسیب پذیری‌های وردپرس مربوط به افزونه‌ها هستند.

 

۴. از پلاگین jQuery Migrate استفاده کنید.

اگر خطای jQuery مربوط به بروزرسانی وردپرس ۵.۵ را تجربه می‌کنید، وردپرس راه حل موقت خاص خود را دارد و آن افزونه Enable jQuery Migrate Helper می‌باشد. اگر شما نیاز به استفاده از افزونه یا تمی را دارید که باعث خطای jQuery می‌شود، این پلاگین یک راه حل سازگار را ارائه می‌دهد.

 

اساساً اسکریپت انتقال را برای وب سایت دوباره فعال می‌کند و برای بروزرسانی نرم افزار، زمان اضافی به توسعه دهنده پلاگین می‌دهد. در حالی که افزونه Enable jQuery helper برای اجرای تولید طراحی شده است، آنچه که توسط بروزرسانی وردپرس ۵.۵ خراب شده است برطرف نمی‌کند. به همین دلیل، باید این پلاگین را به جای یک راه حل همیشگی، به عنوان یک رفع خطای موقت در نظر بگیرید.

 

علاوه بر رفع این خطا، ممکن است شما به دنبال توسعه، عیب یابی و افزایش امنیت سایت خود باشید. در مقاله زیر ما ۱۱ پلاگین حرفه‌ایی و رایگان برای دولوپرها معرفی کرده‌ایم که توسعه دهندگان وب با استفاده از آن‌ها قادر به ساده سازی روند کارشان می‌شوند.

 

آمادگی برای وردپرس ۵.۶ و فراتر از آن

غیرفعال کردن جی کوئری اولین مرحله مهاجرت در برنامه‌های ۳ مرحله‌ای وردپرس برای جی کوئری است. طبق گفته اندرو اوز، یکی از توسعه دهندگان اصلی، وردپرس قصد دارد به طور آزمایشی به آخرین نسخه jQuery و jQuery User Interface (UI) ۱.۱۲.۱ در وردپرس ۵.۶ به روز شود. آخرین نسخه jQuery Migrate نیز به عنوان بخشی از نسخه وردپرس ۵.۶ اضافه خواهد شد.

 

هدف نهایی حذف کامل وابستگی به jQuery Migrate است. بنابراین، در وردپرس ۵.۷ قصد این است که jQuery Migration حذف شود. اگرچه که در حال حاضر انتشار این برنامه تا سال ۲۰۲۱ برنامه ریزی نشده است. وردپرس قصد دارد در دراز مدت بخش مدیریت را به vanilla JavaScript منتقل کند. همچنین کتابخانه‌ها و پلاگین‌های jQuery از طریق Script Loader در دسترس خواهند ماند تا از این طریق سازگاری داشته باشند.

 

چگونه می‌توان وب سایت وردپرس خود را در آینده اثبات کرد؟

برای اینکه در آینده با مشکلی روبرو نشوید، اکنون باید وب سایت خود را برای وردپرس ۵.۶ و ۵.۷ آماده کنید. با استفاده از پلاگین Test jQuery Updates می‌توانید نحوه عملکرد وب سایت خود را در محیط‌های مختلف jQuery آزمایش کنید.

 

در وردپرس ۵.۶، برنامه فعلی بروزرسانی به آخرین نسخه jQuery و jQuery UI است. اما توصیه می‌شود پلاگین jQuery Migrate را نیز فعال بگذارید. برای آزمایش این تنظیم Plugins > Test jQuery Updates بروید.

 

اکنون می‌توانید نسخه jQuery را به ۳.۵.۱ و jQuery UI را به ۱.۱۲.۱تغییر دهید. همچنین باید مطمئن شوید که jQuery Migrate روی Enabled تنظیم شده است.

 

اکنون وب سایت خود را تست کنید. اگر با رفتاری غیر منتظره روبرو شدید، می‌توانید با استفاده از یک toolkit مانند Chrome DevTools این مشکلات را عیب یابی کنید.

 

تیم وردپرس قصد دارد برای انتشار وردپرس ۵.۷، jQuery Migration را حذف کند. برای تست وب سایت خود در این محیط، باید jQuery Migration را بر روی Disabled تنظیم کنید.

 

اکنون می‌توانید وب سایت خود را برای هرگونه مشکل یا خطا آزمایش کنید. اگر با افزونه Test jQuery Updates تست کردید، به یاد داشته باشید که پس از پایان ازمایش، تنظیمات پیش فرض پلاگین را مجددا انجام دهید. در غیر این صورت، اگر افزونه تست شده دیگر لازم نبود، می‌توانید آن را غیرفعال یا حذف کنید.

 

نتیجه گیری

خطای jQuery وردپرس می‌تواند برای هزاران تم و افزونه مشکل ایجاد کند. اگر پس از بروزرسانی به نسخه ۵.۵ با مشکلی روبرو هستید، برای حل این مشکلات می‌توانید اقدامات زیر را انجام دهید:

 

مطمئن شوید که آخرین نسخه از تمامی مضامین و افزونه‌ها را داشته باشید.

در مورد هرگونه خطای jQuery که با آن روبرو هستید با توسعه دهنده تماس بگیرید.

بررسی کنید که آیا تم یا پلاگین منسوخ شده است یا خیر.

با استفاده از Enable jQuery Migrate Helper، اسکریپت migration را دوباره فعال کنید.

 

با خرید هاست وردپرسی می‌توانید منجر به افزایش عملکرد و امنیت سایت خود شوید و از نفوذ هکرها جلوگیری کنید.

خرید هاست وردپرسی wordpress hosting

فرناز شایانی 

كارشناس هاستينگ و ثبت دامنه، مسلط به زبان انگلیسی، علاقه‌مند به موضوعات مرتبط با IoT و شبکه.