مشکل ورژن 5.5 جدید وردپرس
درصورتی که سایت شما با وردپرس طراحی شده است و اخیراً آن را به آخرین ورژن یعنی 5.5 ارتقا داده اید، حتماً با مشکلاتی مواجه شده اید.
در ورژن جدید، دو مشکل عمده شناسایی شده است که احتمالاً بر هزاران وب سایت تأثیر می گذارد. در ادامه نحوه رفع مشکلات فوق توضیح داده شده است.
باگ اول: در ورژن جدید وردپرس WP 5.5 بدلیل مشکل جی کوئری (jQuery Migrate) ممکن است حداقل 50،000 سایت با مشکل جدی مواجه شده باشند.
باگ دوم: همچنین نحوه صفحه بندی(pagination) در قالبهای متعدد باعث می شود سایت ها پس از بروزرسانی وردپرس با مشکل و یا خطا مواجه شوند.
تعداد بسیار زیادی از طراحان وب پس از ارتقا به نسخه جدید، تحت تأثیر این مسئله قرار گرفته اند و به دنبال این راه حل هستند.
خوشبختانه جهت رفع مشکلات فوق، راه حل هایی وجود دارد.
مشکل(باگ) jQuery Migrate در WordPress 5.5
هزاران کاربری که از وردپرس استفاده میکنند، پس از ارتقا با این مشکل مواجه هستند که وردپرس 5.5 بدون کتابخانه جاوا اسکریپت به نام jQuery Migrate به روز شده است.
jQuery Migrate یک کتابخانه از java script میباشد و همانند پلی است برای سازگاری کدهای قدیمی و بهبود عملکرد آنها در وردپرس با ورژنهای بالاتر عمل می کند.
اما تعدادی از کاربران وردپرس از قالبهای قدیمی تر، به ویژه قالبهایی که دیگر به روزرسانی نمی شوند، استفاده می کنند، در نتیجه مشکلات عدم سازگاری ایجاد می کند و این همان چیزی است که در وردپرس 5.5 رخ داده است.
اما سؤالی که در اینجا مطرح میشود این است که چه نوع خطاهایی در سایت ها پس از به روزرسانی مشاهده می شوند. جهت پاسخ به این سوال، جاوا اسکریپت را می توان مانند ماشین های کوچک تصور کرد که باعث میشود گزینه های مختلف در سایت شما بخوبی عمل کنند. درواقع این اسکریپت ها در پشت صحنه کار می کنند تا فرم ها، دکمه های جستجو و منوها بخوبی را ایجاد کنند.
و اما علت خطای JavaScript در وردپرس 5.5 ، بدلیل برخی از افزونه های قدیمی است. و همچنین علت دیگر این مشکل، استفاده از قالب های قدیمی وردپرس است.
برخی کاربران وردپرس مشابه کاربر زیر، یک مشکل مهم را به وردپرس گزارش داده اند که مانع از انتشار نوشتهها (articles) و تصاویر برجسته (featured images) می شود.
این کاربر به وردپرس گزارش داده است که :
“آخرین به روز رسانی شما یک فاجعه ناب است. من از افزونه ویرایشگر کلاسیک استفاده کردم زیرا ویرایشگر بلاک (block editor) یک ویرایشگر پیچیده است و اکنون از زمان بروزرسانی شما دیگر این پلاگین کار نمی کند. من فقط می توانم در حالت HTML ویرایش کنم و نه به صورت بصری!
بنابراین من سعی کردم مقاله آخر خود را با استفاده از ویرایشگر پیش فرض وردپرس منتشر کنم، اما ظاهرا اضافه کردن یک تصویر برجسته غیرممکن است و تنها یک صفحه سفید با عنوان “تصویر برجسته” در بالا نشان داده می شود. “
همانطور که میبینید علت اصلی این مشکل، استفاده از افزونه قدیمی بود که برای عملکرد به کتابخانه jQuery Migrate تکیه می کرد. این افزونه پس از آپدیت وردپرس، عملکرد این پلاگین را مختل کرده است.
البته که مشکل واقعاً از وردپرس نیست. این مشکل توسط یک افزونه قدیمی اتفاق افتاده است.
همچنین کاربران زیادی در فروم Stack Overflow ،سؤالات و مشکلات مربوط به WordPress 5.5 را گزارش میکنند و بسیاری از سایت ها عملکرد خود را از دست داده اند.
نحوه رفع مشکل jQuery Migrate
اگر این مشکل به افزونه ای که از پرونده های JavaScript قدیمی استفاده می کند مربوط است، بررسی کنید آخرین باری که این افزونه به روزشده است، چه زمانی بوده است. اگر آخرین به روزرسانی مربوط به یک سال یا بیشترمی باشد، بهتر است به دنبال افزونه جدیدتر باشید.
توجه داشته باشید که افزونه های قدیمی تر که به روزرسانی نمی شوند می توانند به یک خطر امنیتی تبدیل شوند.
با این وجود، وردپرس افزونه ای را منتشر کرده است که کتابخانه jQuery Migrate JavaScript را بازیابی می کند و عملکرد کامل یک وب سایت را بازیابی می کند.
اگر در عملکرد پلاگین ها مشکل دارید ویا کنسول توسعه دهنده کروم (Chrome developer console) خطاهای جاوا اسکریپت را نشان می دهد، و همچنین قالب یا افزونه شما از ورژن های قدیمی تر می باشد، پس نصب این افزونه ممکن است به شما کمک کند.
افزونه وردپرس Enable jQuery Migrate Plugin در روزهای اولیه انتشار بیش از 50،000 بار دانلود شده است.
نام این افزونه Enable jQuery Migrate Helper می باشد که میتوانید آن را از این لینک دانلود نمایید.
مشکل(Bug) صفحه بندی در وردپرس 5.5
بروزرسانی در وردپرس باعث عدم موفقیت صفحه بندی در برخی سایت ها می شود.
زمانیکه محتوای یک صفحه طولانی میشود طراح سایت تلاش میکند که آن را در دو یا چند صفحه(Pagination) در دسترس کاربر قرار دهد، این روش هم موجب میشود که صفحات سایت بیش از حد طولانی نشوند و هم حجم کلی صفحه را کاهش میدهد.
آنچه اتفاق می افتد این است که در Pagination در استفاده از کلمه صفحه(page) مشکل وجود دارد. وردپرس فقط با یک مقدار عددی برای صفحه بندی استفاده می کند.
قالب هایی از کلمه صفحه(Page) با مقادیر غیر عددی اضافی استفاده می کنند، با این مشکل مواجه می شوند.
با توجه به صحبتهای مشاور هسته اصلی WordPress ، سرگئی بیرووکوف (SergeyBiryukov)، توصیه می شود برای جلوگیری از این مشکل، این متغیر را در هر کد دلخواه به نام دیگری تغییر دهید.
این متغیر می بایست فقط دارای مقادیر عددی باشد و به معنای استفاده از آن برای اهداف دیگر نیست.
به عنوان یک راه حل دیگر، شما می توانید عملکرد redirect_canonical() را برای این درخواست ها غیرفعال کنید، که به طور پیش فرض به template_redirect action وصل شده است.
نتیجه گیری:
در بیشتر قسمت ها ، وردپرس 5.5 با موفقیت عمل می کند.برخی از مشکلات مربوط به وردپرس 5.5 وجود دارند که احتمالاً هزاران کاربر وردپرس را تحت تأثیر قرار داده است. اما این مشکلات پس از شناسایی علت آن، آسان و قابل رفع می باشند.
“در صورتی که مقاله فوق مورد توجه شما قرار گرفته پیشنهاد میکنیم مقالات “catch all emails در هاست لینوکس” و ”تاثیر لینوکس و تکنولوژی های متن باز بر روی علم پزشکی” در بلاگ مرواهاست مطالعه فرمایید”