مشکل از کار افتادن بعضی از پلاگین ها با آپدیت به وردپرس ۴٫۵

1 امتیاز2 امتیاز3 امتیاز4 امتیاز5 امتیاز 7 امتیاز
Loading...

بسم الله الرحمن الرحیم

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

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

البته این کار درست و به جایی هست،چون وردپرس سابقه خوبی داره و معمولا بعد از به روزرسانی هیچ مشکلی رو ایجاد نمی کنه.

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

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

توجه داشته باشین این مشکل مربوط به وردپرس نمیشه و مربوط به نسخه جدید جی کوئری که داخلش استفاده شده میشه.

 چه پلاگین هایی شامل این مشکل جی کوئری و وردپرس ۴٫۵ شدند؟

برای نمونه پلاگین ویژوآل کامپوزر،quform،محصولات divi و…که این ها با به روزرسانی مشکلشون حل میشه.

ارورهایی که شاید بهشون برخورده باشین شاید این مدلی هستند:

  • Uncaught Error: Syntax error, unrecognized expression: a[href*=#]:not([href=#])
  • Uncaught Error: Syntax error, unrecognized expression: a[href=#scroll-top

 لینک های کمکی در مورد مشکل جی کوئری و وردپرس ۴٫۵

 

https://github.com/jquery/jquery/issues/2824

https://wordpress.org/support/topic/read-this-first-wordpress-45-master-list

http://shinephp.com/wordpress-4-5-jquery-1-12-compatibility-issues/

علت این مساله؟

باید گفت که علت این مساله برمیگرده به یک علامت # ناقابل!

نحوه رفع مشکل

اگر بروزرسانی قالب/پلاگین مشکلتون رو حل نکرد پس باید خودتون دست به کار بشین و مواردی رو تغییر بدین،به این روال(از چپ به راست):

 

 

$(a[href=#id])  به  $(a[href="#id"])
$(a[href^=#])  به   $(a[href^="#"])
$(a[href*=#])  به   $(a[href*="#"])
$('a[href=#scroll-top]')  به   $('a[href="#scroll-top"]')

 

اگر خودتون قادر به حل این مشکل نیستین پس باید به یک متخصص وردپرس برای حل مشکل مراجعه کنین.

اما یک راه دیگه هم هست که ریسک استفاده با خودتونه و اون استفاده از این کد در فایل تابع قالبتون هست:

 

function fix_jquery_1_12_issue() {
		//both for admin and users
		wp_deregister_script('jquery');
		wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js', false, '1.11.1');
		wp_enqueue_script('jquery');
}
add_action('init', 'fix_jquery_1_12_issue');

سفارش پلاگین وردپرس