آموزش های وردپرس

آموزش حل مشکل کار نکردن کدهای جی کوئری در وردپرس

کار نکردن کدهای جی کوئری در وردپرس حتما برای شما هم پیش اومده که وقتی اقدام به نصب افزونه خاصی در سایت خودتون می‌کنید قالب شما بعد از نصب و فعال سازی افزونه با بی نظمی مواجه شده و بخش‌های مختلف اون بهتون به درستی نشون داده نمیشه، به عنوان مثال وقتی که از افزونه‌های اسلایدر و یا ساخت افکت برای باکس‌هایی که معمولا در قالب‌های تک صفحه ای استفاده میشن با ای مشکل مواجه میشید که اسلایدر یا افکت انیمیشن شما به درستی کار نمیکنه، این مشکل بیشتر به این دلیل هست که کدهای جی کوئری مورد نیاز برای نمایش این المان‌ها به دلیل تداخلی که با سایر کدهای 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');

با اضافه کردن کد بالا کتابخانه‌ای که وردپرس به صورت پیشفرض از اون استفاده میکنه غیرفعال شده و از کتابخانه‌ای که در قالب و یا افزونه وجود داره استفاده خواهد شد و دیگه تداخلی در کدهای شما به وجود نخواهد آمد.

امیدوارم که این آموزش هم مورد توجه و پسند شما قرار گرفته باشه و با استفاده از اون تونسته باشید تا نسبت به حل مشکل کار نکردن کدهای جی کوئری در وردپرس و تداخل در جی کوئری وردپرس اقدام کنید. در صورتی که در رابطه با این آموزش سوال و یا مشکلی داشتید در بخش دیدگاه‌ها اعلام کنید تا در کوتاه‌ترین زمان ممکن پاسخگوی شما باشم.
5/5 - (9 امتیاز)

علی یزدان پرست

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

‫۱۵ دیدگاه ها

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

  2. اگر ارور jquery فقط در یک مرورگر مثل فایرفاکس نمایان میشه ، به راحتی با پاک کردن کش مرورگر درست میشه . (تست شده)

  3. با سلام جای مناسب قراردادن قطعه کدهای بالا در فایل fuction.php گذاشت ؟ من چندبار قرار دادم درجاهای مختلف ولی سایت کلا نشون داده نمی شد مجبور شدم حذف کنم .کدوم قسمت از fuction.php قرار بدم مشکل تداخل رفع بشه ؟با تشکر

    1. سلام روزبخیر؛
      فرقی نداره کد رو در چه بخشی قرار بدید می تونید کد مذکور رو در انتهای فایل قرار بدید.

  4. سلام
    راه حل دوم خطا میده
    4
    function my_func_docs(){
    wp_deregister_script(‘jquery’)
    } از این کروشه خطا می گیره
    add_action(‘wp_enqueue_scripts’,’my_func_docs’);
    علت چی می تونه باشه

  5. سلام من میخام توی سایتم با گوشیم ثبت نام کنم این ارورو میده میشه کمکم کنید لطفا
    Error in jQuery.ajax while submitting a form : You are trying register with non – valid role
    باتشکر از سایت خوبتون

  6. با سلام به مدیر محترم
    من همچنان با خطای Nimble Builder problem : jQuery.js was not detected on your website و بهم ریختگی صفحه اول سایتم روبرو میشم. کدهای بالا را هم امتحان کردم. جواب نداد.

    1. سلام و احترام؛
      اگر به کمک کدهای مذکور مشکل رفع نشد میتونید افزونه افزونه jQuery Updater رو هم تست کنید. دقت داشته باشید قبل از ایجاد هر تغییر یک فول بکاپ از سایت خودتون تهیه کنید.

  7. سلام

    من مشکلی دارم ولی مربوط به قالب نیست
    1-همون اول که وردپرس رو نصب کردم مشکل اجرای اسکریپت داره
    مثلا دکمه های ajax اش کار نمیکنه و یا اینکه تو بخش سرچ افزودن افزونه/پوسته بعد از این که اسم افزونه/پوسته رو وارد میکنم باید نتیجه ای رو نمایش بده ولی هیچی نمیاره (درحالی url صفحه عوض شده)

    2-یکی دیگه از مشکلات هم تو بخش سفارشی سازی برای کار با ویجت هاست که باید با کلیک روی ویجت صفحه ادیت بیاره ولی کار نمیکنه

    **فک کردم اول بخاطر اینترنته ولی با کامپیوتر و اینترنت دیگه هم امتحان کردم حتی ولی از اینا نبود

  8. با سلام و احترام وقت بخیر و خسته نباشید.
    ممنون از مقاله خوبتون.من جی گوئری را غیر فعال کردم و اکثر افکت ها از بین رفتند و صفحه ها کمی بهم ریخته شدند.

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

    1. سلام روزبخیر؛
      شما بدین ترتیب اعلام می کنید که تداخلی رخ داده و مشکل کار نکردن کدهای جی کوئری رفع خواهد شد. مشکل خاص دیگری وجود ندارد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *