في الوقت الحاضر، يعد ووردبريس أفضل منشئ الموقع في الإنترنت. نشأ إشتهار ووردبريس من خدمات و ميزات متددة يقدّمها. مع ذلك، يكون معه مشاكل مثلما أي شئ آخر، بنفس قدر يمكن أن تتم فعالة هذه CMS. إحدي من هذه المشكلات هو خطأ is not a function $ في ووردبريس. هذا الخطأ يؤدي إلي عرض صفحة 404 في موقع الويب الخاص بكم.
نتكلم في هذه المقالة عن تعليم حل خطأ is not a function $.
ما هو خطأ is not a function $؟
يحدث خطأ is not a function $ عندما يدعو شفرة قبل دعوة مكتبة JQuery. على سبيل المثال، إذا قام مكون إضافي أو قالب ووردبريس إلي دعوة شفرة قبل دعوة المكتبة فيظهر هذا الخطأ.
إفتراضياً، ووردبريس لا يتعرف $ كوصفة JQuery و ينبغي إنشاء التغييرات لحلّ هذه المشكلة. على رغم أن يمكن أن يتحدي إزالة هذا الخطأ للمستخدمين الذين ليس لديها علم البرمجة.
نوصي الحصول على النسخ الإحتياطي من موقع الويب الخاص بكم قبل إجراء التغييرات في ملفات نواة ووردبرس كما هو الحال دائماً. هذا أمر واجب لأن إذا تنسي ; بسيط فينتظركم العواقب الكثيرة.
توفير هذا ملف النسخ الإحتياطي بهذا السبب أن قاموا بإستعادة موقع الويب الخاص بكم بسبب التغيرات التي تم إجراءها إذا واجهوا إلي المشكلة.
إستخدام $ عوضاً ل JQuery في ووردبريس من خلال الوظيفة
إحدي من أسهل أساليب لحل هذا الخطأ هو إستخدام $ عوضاً ل JQuery. للقيام إلي هذا العمل يجب إضافة السكريبت التالي إلي ملف function.php لقالب موقع الويب الخاص بكم.
wp_enqueue_script("jquery");
الكثير من مطوري المكون الإضافي و قالب ووردبريس إنتبهوا على هذا الموضوع. فلهذا يرحج أن يستخدموا JQuery بالنسبة إلي $.
على سبيل المثال، يكون JQuery على النحو التالي عادة:
$(“#element”).function();
يكون JQuery على النحو التالي في ووردبريس:
jQuery(“#element”).function();
إستخدام JQuery في سكريبت بمرات عديدة يصعب قراءته و من ناحة أخري يزداد حجم سكريبت كذلك. يوصي إلي إستخدام $ عوضاً ل JQuery في خريطة موقع الويب الخاص بكم في قسم التذييل. من الكفاية إستبدال الشفرة التالية في قسم تذييل قالب موقع الويب بسهولة:
(function($) {
// console.log($);
})( jQuery );
If you would like to add the code to the header of your theme, simply use the following code:
jQuery(document).ready(function( $ ) {
// console.log($);
});
يمكنك كتابة سكريبت واضح لموع الويب الخاص بكم من خلال هذه الشفرة.
تعريف الإسم المستعار الجديد ل jQuery
يمكن للمستخدمين إجراء التغييرات الكثيرة على jQuery. إحدي من هذه التغييرات، إمكانية تغيير $ بأي إسم مطلوب. إستخدم الشفرة التالية لإستخدام الإسم المستعار الجديد ل jQuery و إستبدال إسمكم المطلوب بالنسبة إلي j.
var j = jQuery.noConflict();
j( "div p" ).hide();
// Do something with another library's $()
$( "content" ).style.display = "none";
تعطيل حالة noConflict كاملاً
إتبع الخطوات التالية لتعطيل حالة noConflict في ووردبريس:
$ = jQuery.noConflict(true);
هذه الشفرة تؤدي إلي تعطيل حالة noConflict تماماً.
الأمر $.command يسبب إلي التحكم على متغييرات $ و إستعادتهم إلي مكاتب يتعلقون إليها لأول مرة. هذا الأمر يتأكد أن لم يكن توافق بين jQuery و $ من المكاتب الأخري.
إستنتاج
تكلمنا في هذه المقالة عن خطأ is not a function error $. يحدث هذا الخطأ عندما يدعو شفراتكم قبل jQuery و كذلك إذا تستخدمون $ بالنسبة إلي jQuery.
إفتراضياً، يستخدم ووردبريس من jQuery بالنسبة إلي أسلوب عادي $ و هذا يسبب إلي عرض خطأ 404 بواسطة موقع الويب الخاص بكم.
يمكنك تغيير إسم $ إلي أي إسم تريدونه من خلال مشغل في قسم التذييل و الرأس لموقع الويب. أيضاً يمكنكم تعطيل حالة noConflict. تساعد حالة noConflict إلي التحكم على متغييرات $ و إستعادتها إلي المكاتب الرئيسية التي تتعلقون إليها.