آموزش حل مشکل کار نکردن کدهای جی کوئری در وردپرس
کار نکردن کدهای جی کوئری در وردپرس حتما برای شما هم پیش اومده که وقتی اقدام به نصب افزونه خاصی در سایت خودتون میکنید قالب شما بعد از نصب و فعال سازی افزونه با بی نظمی مواجه شده و بخشهای مختلف اون بهتون به درستی نشون داده نمیشه، به عنوان مثال وقتی که از افزونههای اسلایدر و یا ساخت افکت برای باکسهایی که معمولا در قالبهای تک صفحه ای استفاده میشن با ای مشکل مواجه میشید که اسلایدر یا افکت انیمیشن شما به درستی کار نمیکنه، این مشکل بیشتر به این دلیل هست که کدهای جی کوئری مورد نیاز برای نمایش این المانها به دلیل تداخلی که با سایر کدهای Jquery وردپرس دارند باعث ایجاد این مشکل میشوند.
در این آموزش از پایگاه دانش میزبانفا قصد دارم تا به نحوه رفع مشکل کار نکردن کدهای جی کوئری در وردپرس بپردازم که با استفاده از این آموزش میتونید مشکل تداخل در جی کوئری وردپرس را که میتونه بعد از نصب افزونه و یا افزودن کتابخانهای از وردپرس در اون به وجود بیاد را رفع کنید. پس تا انتها با ما همراه باشید.
آموزش حل مشکل کار نکردن کدهای جی کوئری در وردپرس
مشکلی که در کار نکردن کدهای jquery وردپرس به وجود میاد در بیشتر مواقع همونطور که در بالا هم اشاره کردم به دلیل تداخل کتابخانههای جی کوئری هستش به این صورت که وقتی طراح قالب وردپرس شما یک کتابخانه جی کوئری را در قالب فراخوانی میکنه و شما حین استفاده از این قالب میاین و اقدام به نصب یک افزونه میکنید که از کتابخانههای جیکوئری در اون استفاده شده، چون این افزونه هم برای کارکرد خودش به کتابخانه جی کوئری نیاز داره یک بار دیگه این کتابخانه جی کوئری فراخوانی شده و همین موضوع باعث میشه تا همزمان دو کتابخانه در سایت فراخوانی شوند که باعث اختلال در عملکرد افکت ها و افزونهها میشن که در نهایت بر روی کل سایت شما تاثیر خواهد گذاشت.
در حالت عادی برای استفاده از کتابخانههای جی کوئری طراحان میان و از کدهایی مثل نمونه زیر در قالب وردپرس استفاده میکنند که میتونید چنین کدهایی را در فایلهای قالب خودتون پیدا کنید.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
اما اگر تداخلی در کتابخانههای جی کوئری شما به وجود بیاد با بررسی سورس صفحات خودتون خواهید دید که این کدها به شکل زیر در صفحات تبدیل شدند.
<script type="text/javascript" src="https://site.com/wp-includes/js/jquery/jquery.js">
درست در همینجاست که مشکل تداخل در جی کوئری وردپرس به وجود میاد و همونطور که در حالت تئوری این ماجرا مشخصه برای اینکه مشکل را برطرف کنیم کافیه تا به وردپرس بفهمونیم که این دو کتابخانه تکراری هستند و تنها باید از یکی از این کتابخانهها استفاده کنه. بنابراین وارد هاست خودتون شده و روی گزینه File Manager انتخاب کنید تا به مسیر فایل منیجر در هاست خودتون وارد شوید.
سپس به مسیر /public_html/wp-content/themes/ وارد شده و سپس پوشه قالبی که روی سایت فعال هست را انتخاب کرده و وارد این پوشه شوید. در این پوشه حالا به دنبال فایلی با نام functions.php بگردید و سپس برای ویرایش فایل در هاست سی پنل روی اون راست کلیک کرده و گزینه Edit را انتخاب کنید. بعد از اینکه وارد صفحه ویرایش فایل شدید کد زیر را در مکان مناسبی از این فایل قرار بدین.
if (!is_admin()) { function site_init() { wp_deregister_script('jquery'); } add_action('init', 'site_init'); }
اگر مشکلتون برطرف نشد میتونید کد بالا را از فایل حذف کرده و با کد زیر جایگزین کنید تا کتابخانه جیکوئری پیشفرض خود وردپرس را غیرفعال کنید.
function my_func_docs(){ wp_deregister_script('jquery') } add_action('wp_enqueue_scripts','my_func_docs');
با اضافه کردن کد بالا کتابخانهای که وردپرس به صورت پیشفرض از اون استفاده میکنه غیرفعال شده و از کتابخانهای که در قالب و یا افزونه وجود داره استفاده خواهد شد و دیگه تداخلی در کدهای شما به وجود نخواهد آمد.
سلام خدا عمرتان بدهد .
عالی فعلا که جواب گرفتم.
پاینده باشید.
ببخشید فقط چند لحظه جواب داد. نمایش همه عکس ها از اسلایدرها غیرفعال شد من هم مجبور شدم کد را پاک کنم تا عکس ها برگشتن
بعد از قرار دادن کدها، با استفاده از مقاله آموزش نحوه خالی کردن کش تمامی مرورگرها کش مرورگر رو پاک کرده و تست کنید.
اگر ارور jquery فقط در یک مرورگر مثل فایرفاکس نمایان میشه ، به راحتی با پاک کردن کش مرورگر درست میشه . (تست شده)
با سلام جای مناسب قراردادن قطعه کدهای بالا در فایل fuction.php گذاشت ؟ من چندبار قرار دادم درجاهای مختلف ولی سایت کلا نشون داده نمی شد مجبور شدم حذف کنم .کدوم قسمت از fuction.php قرار بدم مشکل تداخل رفع بشه ؟با تشکر
سلام روزبخیر؛
فرقی نداره کد رو در چه بخشی قرار بدید می تونید کد مذکور رو در انتهای فایل قرار بدید.
سلام
راه حل دوم خطا میده
4
function my_func_docs(){
wp_deregister_script(‘jquery’)
} از این کروشه خطا می گیره
add_action(‘wp_enqueue_scripts’,’my_func_docs’);
علت چی می تونه باشه
سلام من میخام توی سایتم با گوشیم ثبت نام کنم این ارورو میده میشه کمکم کنید لطفا
Error in jQuery.ajax while submitting a form : You are trying register with non – valid role
باتشکر از سایت خوبتون
یه کاماویرگول ; بعد از پرانتز لازمه
با سلام به مدیر محترم
من همچنان با خطای Nimble Builder problem : jQuery.js was not detected on your website و بهم ریختگی صفحه اول سایتم روبرو میشم. کدهای بالا را هم امتحان کردم. جواب نداد.
سلام و احترام؛
اگر به کمک کدهای مذکور مشکل رفع نشد میتونید افزونه افزونه jQuery Updater رو هم تست کنید. دقت داشته باشید قبل از ایجاد هر تغییر یک فول بکاپ از سایت خودتون تهیه کنید.
سلام
من مشکلی دارم ولی مربوط به قالب نیست
1-همون اول که وردپرس رو نصب کردم مشکل اجرای اسکریپت داره
مثلا دکمه های ajax اش کار نمیکنه و یا اینکه تو بخش سرچ افزودن افزونه/پوسته بعد از این که اسم افزونه/پوسته رو وارد میکنم باید نتیجه ای رو نمایش بده ولی هیچی نمیاره (درحالی url صفحه عوض شده)
2-یکی دیگه از مشکلات هم تو بخش سفارشی سازی برای کار با ویجت هاست که باید با کلیک روی ویجت صفحه ادیت بیاره ولی کار نمیکنه
**فک کردم اول بخاطر اینترنته ولی با کامپیوتر و اینترنت دیگه هم امتحان کردم حتی ولی از اینا نبود
با سلام و احترام وقت بخیر و خسته نباشید.
ممنون از مقاله خوبتون.من جی گوئری را غیر فعال کردم و اکثر افکت ها از بین رفتند و صفحه ها کمی بهم ریخته شدند.
سلام خسته نباشین اقا بابت این پست ممنونم مشکلم حل شد فقط میخواستم این تکه کد به سایر سایت خللی وارد نمیکنه یا مشکلی پیش نمیاد
سلام روزبخیر؛
شما بدین ترتیب اعلام می کنید که تداخلی رخ داده و مشکل کار نکردن کدهای جی کوئری رفع خواهد شد. مشکل خاص دیگری وجود ندارد.