Cara Memperbaiki Kesalahan 'Uncaught TypeError: $ Is Not a Function' di WordPress

Diterbitkan: 2024-03-20

Ah, kesalahan klasik “Uncaught TypeError: $ is not a function” di WordPress. Jika Anda pernah mendalami pengembangan situs WordPress, Anda mungkin menemukan kesalahan ini. Ini seperti mencoba menghidupkan mobil Anda di pagi hari hanya untuk menyadari bahwa mobil tidak bisa berputar karena Anda menggunakan kunci yang salah. Di WordPress, jQuery adalah mobilnya, dan simbol '$' adalah kuncinya yang terkadang tidak cocok.

Apa yang dimaksud dengan kesalahan “Uncaught TypeError: $ is not a function”?

Mari kita uraikan. jQuery, pustaka JavaScript yang disukai, menyederhanakan penjelajahan dokumen HTML, penanganan peristiwa, animasi, dan interaksi Ajax untuk pengembangan web yang cepat. Ini adalah perangkat yang diandalkan oleh banyak tema dan plugin WordPress untuk fitur-fitur mewahnya.

situs web jQuery. Penggunaan simbol dolar pada perpustakaan javascript ini menyebabkan kesalahan "Uncaught TypeError: $ is not a function" di WordPress.

Di jQuery, simbol '$' adalah singkatan dari “jQuery”, membuat kode lebih bersih dan lebih mudah untuk ditulis. Namun, ketika WordPress memunculkan kesalahan “Uncaught TypeError: $ is not a function”, pada dasarnya ia mengatakan, “Hei, saya tidak mengenali simbol '$' ini sebagai bagian dari jQuery.”

Hal ini dapat terjadi karena beberapa alasan, tetapi hal ini disebabkan oleh WordPress dan cara uniknya dalam menangani jQuery, yang sering kali menyebabkan kebingungan dan kesalahan ini.

Salah satu bagian tersulit tentang kesalahan “Uncaught TypeError: $ is not a function” adalah sifatnya yang tidak jelas. Itu tidak disertai penjelasan mendetail atau mengarahkan Anda langsung ke bagian kode yang bermasalah. Ini mirip dengan lampu periksa mesin mobil Anda; Anda tahu ada sesuatu yang salah, tetapi Anda tidak dapat menentukan masalahnya tanpa penyelidikan lebih lanjut. Ketidakjelasan ini bisa membuat frustasi, terutama jika Anda baru melakukan debugging di WordPress.

Mengapa kesalahan “Uncaught TypeError: $ is not a function” muncul?

Ada beberapa penyebab umum di balik kesalahan ini:

  1. Pustaka jQuery tidak dimuat dengan benar : Jika WordPress tidak dapat menemukan jQuery, maka simbol '$' tidak berarti apa-apa. Ini seperti mencoba membaca buku dalam kegelapan. Anda tahu kata-katanya ada di sana, tetapi Anda tidak dapat melihatnya.
  2. WordPress berada dalam mode noConflict : Secara default, WordPress memuat jQuery sedemikian rupa sehingga mencegahnya bentrok dengan perpustakaan lain yang mungkin juga menggunakan simbol '$'. Ini seperti memiliki dua koki di dapur, keduanya bersikeras menggunakan pisau yang sama. Untuk menghindari bencana kuliner, WordPress mundur dan berkata, “Baiklah, saya tidak akan menggunakan simbol '$'.”
  3. Konflik plugin atau tema : Terkadang, kesalahan muncul karena plugin atau tema tidak cocok dengan plugin atau tema lain, menggunakan simbol '$' dengan cara yang bertentangan dengan pengaturan default WordPress.

Menemukan sumber kesalahan

Meskipun mengetahui penyebab spesifik kesalahan tidak diperlukan untuk memperbaikinya, jika Anda memang perlu mengetahui apa yang terjadi, Anda memiliki beberapa opsi untuk membantu Anda melacak sumber kesalahan yang sulit dipahami ini.

Keterampilan detektif Anda ikut bermain, dipersenjatai dengan dua alat canggih: konsol pengembang dan log debug WordPress.

Konsol pengembang : Anda dapat mengakses alat yang sangat berharga ini dari browser Anda.Klik kanan pada halaman web Anda, pilih “Inspect” atau “Inspect Element,” dan kemudian klik pada tab “Console”.

Tab konsol disorot di alat pengembang Chrome. Ini berguna untuk melacak sumber kesalahan "Uncaught TypeError: $ is not a function" di WordPress.

Konsol ini menampilkan harta karun berupa informasi tentang apa yang terjadi di balik layar situs web Anda, termasuk kesalahan yang sulit kami pahami. Ini seperti memiliki peta yang menunjukkan di mana letak harta karun (atau, dalam hal ini, masalahnya).

Log debug WordPress : Untuk masalah yang terjadi lebih dalam di situs WordPress Anda, mengaktifkan WP_DEBUG dapat menjadi penyelamat.Fitur ini, ketika diaktifkan, mencatat semua kesalahan, peringatan, dan pemberitahuan dalam file debug.log dalam direktori konten-wp. Untuk mengaktifkannya, Anda perlu mengedit file wp-config.php dan menyetel WP_DEBUG ke true.

File wp-config.php ditampilkan dalam editor teks dengan mode wp_debug disetel ke true. Ini dapat membantu menemukan sumber kesalahan ketik yang tidak tertangkap, bukan kesalahan fungsi di WordPress.

Anggap saja seperti memasang kamera pengintai di seluruh situs Anda; tidak ada yang lewat tanpa dicatat.

Cara memperbaiki kesalahan “Uncaught TypeError: $ is not a function” di WordPress

Apa pun penyebab spesifik kesalahannya, di sinilah letak permasalahannya. Memperbaiki kesalahan “Uncaught TypeError: $ is not a function” adalah tentang menemukan kunci yang tepat untuk menyalakan mobil, dan ada dua strategi mudah untuk mengatasi hambatan ini tanpa mengubah mode “noConflict”.

1. Pilih “jQuery” daripada '$'

Ketika skrip Anda menemukan simbol '$' dan menimbulkan kesalahan, salah satu perbaikan langsung adalah mengganti setiap contoh '$' dengan “jQuery” dalam kode Anda. Untuk sedikit konteksnya, berikut tampilan cuplikan jQuery standar menggunakan '$':

 $(fungsi() {
  // Kode Anda dengan sabar menunggu di sini untuk dijalankan setelah DOM dimuat sepenuhnya
});

Menghadapi kesalahan ini secara langsung, solusi sederhana namun efektif adalah mengganti '$' dengan “jQuery.” Oleh karena itu, cuplikan yang direvisi adalah:

 jQuery(fungsi() {
  // Eureka! Kode berjalan dengan lancar tanpa menimbulkan kesalahan apa pun.
});

Bagi mereka yang lebih menyukai pendekatan yang lebih halus, membungkus kode Anda dalam ekspresi fungsi yang segera dipanggil (IIFE) yang menyerahkan simbol '$' dapat menjadi terobosan baru. Teknik ini memungkinkan Anda menggunakan '$' dengan aman di dalam fungsi tanpa menimbulkan kesalahan yang ditakuti:

 jQuery(fungsi($) {
    // Di dalam pembungkus ajaib ini, "$" sepenuhnya menjadi milik Anda.
    console.log($('.menu-utama'));
});

Setelah menerapkan penyesuaian ini, gunakan alat pengembang browser Anda atau intip log debug WordPress untuk memverifikasi hilangnya kesalahan “Uncaught TypeError: $ is not a function”. Jika kesalahan masih berlanjut, pertimbangkan untuk memetakan ulang “jQuery” ke alias lain untuk menghindari komplikasi lebih lanjut.

2. Buat alias khusus untuk jQuery

Karena '$' berfungsi sebagai singkatan default jQuery, mode “noConflict” WordPress mungkin memerlukan alias alternatif untuk menghindari bentrokan perpustakaan. Pendekatan ini ternyata sangat mudah, memungkinkan Anda menetapkan simbol baru hanya dengan sebaris kode:

 var $j = jquery;

Cuplikan ini secara efektif menetapkan “$j” sebagai alias baru untuk jQuery, meskipun Anda bebas memilih simbol apa pun yang sesuai dengan Anda. Metode ini sangat menarik bagi pengembang yang merasa mengetik “jQuery” berulang kali agak rumit.

Perlu dicatat bahwa bahkan setelah menyiapkan alias baru, opsi untuk menggunakan "jQuery" tetap ada.

Membungkusnya

Dengan menggunakan salah satu dari dua metode ini, Anda dapat dengan baik menghindari kesalahan “Uncaught TypeError: $ is not a function” dan memastikan skrip jQuery Anda berjalan dengan lancar di WordPress.

Apakah Anda memilih untuk mengganti '$' dengan "jQuery" secara langsung atau membuat alias khusus, kedua jalur tersebut mengarah pada koeksistensi harmonis jQuery dengan skrip lain dalam mode "noConflict" WordPress. Ingat, kunci kelancaran situs web terletak pada pemahaman dan adaptasi terhadap kerangka kerja yang mendasarinya.