Cara Menemukan, Mengakses, dan Mengedit functions.php di WordPress

Diterbitkan: 2022-08-23

Jika Anda baru memulai pengembangan WordPress, salah satu file terpenting yang harus Anda pahami adalah file functions.php . Sebenarnya ada tiga kemungkinan file functions.php yang mungkin Anda gunakan di situs WordPress Anda, dan masing-masing memainkan peran yang berbeda. Mengetahui di mana file-file ini berada, apa tujuannya, dan bagaimana dan kapan memodifikasinya akan membantu Anda saat memecahkan masalah dan memberi Anda kontrol lebih besar atas fungsionalitas situs Anda.

Pada artikel ini, kami akan membahas semua yang perlu Anda ketahui tentang file functions.php WordPress. Anda akan mempelajari apa yang function.php lakukan dan bagaimana menemukan dan mengeditnya. Kami bahkan akan menyertakan beberapa cuplikan kode yang berguna untuk dicoba.

Anda dapat memulai dari awal dan membaca atau melompat ke bagian tertentu menggunakan daftar isi di bawah ini:

  • Apa itu functions.php di WordPress?
  • Di mana file functions.php berada?
  • Cara mengakses function.php
    • Mengakses functions.php di Antarmuka Admin WordPress Anda
    • Mengakses functions.php melalui FTP
    • Mengakses functions.php di cPanel Anda
  • Kapan saya harus mengedit functions.php di WordPress?
  • Cara mengedit functions.php di WordPress
    • Mengedit functions.php di Editor File Tema WordPress Anda
    • Mengedit functions.php dengan editor teks
    • Mengedit functions.php langsung di cPanel
  • Menggunakan plugin untuk menambahkan fungsi ke situs WordPress Anda
  • Bagaimana melindungi functions.php dari eksploitasi keamanan
  • Kode apa yang bisa saya tambahkan ke functions.php di WordPress?
  • FAQ
    • Apakah saya perlu membuat tema anak untuk mengedit functions.php ?
    • Bagaimana cara memulihkan functions.php dari cadangan jika saya tidak memiliki akses ke dasbor WordPress saya?
    • Bisakah saya menambahkan JavaScript ke file functions.php saya?

Apa itu functions.php di WordPress?

Di WordPress, file functions.php adalah tempat tinggal kode vital yang menentukan cara kerja situs Anda. Sebenarnya ada setidaknya dua file functions.php di setiap situs WordPress — satu disertakan dengan inti WordPress dan satu disertakan dengan tema Anda. Jika Anda menggunakan tema anak, Anda juga harus memiliki function.php di folder tema anak Anda.

File functions.php di inti WordPress berisi kode penting yang diperlukan agar WordPress berfungsi. Anda hampir tidak boleh memodifikasi kode di file functions.php inti WordPress.

File functions.php tema Anda adalah tempat semua fitur khusus tema situs web Anda hidup — seperti lokasi menu khusus, area widget, konten dan fungsionalitas header dan footer khusus, panjang kutipan posting, dan banyak lagi.

File functions.php tema Anda berperilaku sama seperti plugin WordPress. Perbedaannya adalah functions.php harus digunakan untuk kode yang spesifik tema, sedangkan plugin harus digunakan untuk fungsionalitas yang akan tetap ada bahkan ketika Anda mengganti tema.

Di mana file functions.php berada?

Kami telah berbicara tentang apa yang dilakukan file functions.php baik di inti WordPress dan di file tema, tetapi bagaimana Anda menemukan file functions.php ? Di mana functions.php di WordPress?

Semua file WordPress Anda berada di direktori root situs Anda dan di berbagai subfolder. Direktori root Anda biasanya bernama sesuatu seperti public_html atau www , tetapi mungkin memiliki nama yang berbeda. Jika Anda tidak yakin di mana menemukan folder instalasi WordPress di server Anda, hubungi host web Anda.

Setelah Anda menemukan di mana file WordPress Anda berada di server Anda, Anda dapat mulai mencari file functions.php Anda. Kami telah menyebutkan bahwa ada hingga tiga lokasi untuk functions.php : inti WordPress, folder tema Anda, dan folder tema anak Anda. Di bagian ini kita akan membahas di mana menemukan masing-masing.

Di mana functions.php di inti WordPress?

Jika Anda mencari lokasi functions.php di inti WordPress, Anda akan menemukannya di folder wp-includes dari instalasi WordPress Anda.

menemukan file functions.php di wp-includes

Meskipun Anda tidak boleh mengedit functions.php di inti WordPress, Anda mungkin perlu memeriksanya karena satu dan lain alasan. Skenario yang paling mungkin untuk mencari-cari di functions.php di inti WordPress adalah jika Anda mencurigai bahwa malware telah disuntikkan ke dalamnya.

Bahkan sebelum membuka functions.php , Anda harus membuat cadangan situs WordPress Anda jika Anda secara tidak sengaja membuat perubahan pada file yang menyebabkan kesalahan kritis. Jika Anda menemukan bahwa functions.php telah rusak atau diretas, kemungkinan Anda memiliki area lain di WordPress yang terpengaruh. Hal terbaik untuk dilakukan hanyalah mengganti WordPress dengan instalasi baru, daripada mencoba menghapus semua skrip yang menyinggung satu per satu.

Di mana functions.php di folder tema WordPress saya?

File functions.php tema Anda terletak di direktori utama folder tema Anda: wp-contentthemes → yourtheme .

menemukan file functions.php di folder tema

Di mana functions.php di folder tema anak WordPress?

File functions.php tema anak WordPress terletak di direktori utama folder tema anak Anda: wp-content → themes → yourtheme-child .

menemukan file functions.php tema anak

Bagaimana cara mengakses function.php ?

Mengetahui di mana fungsi.php tinggal hanyalah setengah dari pekerjaan. Sekarang muncul pertanyaan bagaimana mengakses functions.php di WordPress. Sementara file functions.php di inti WordPress hanya dapat diakses melalui protokol transfer file aman (SFTP) atau melalui cPanel, file functions.php tema dan tema anak Anda juga dapat diakses di Editor File Tema WordPress.

Mengakses functions.php di Editor File Tema WordPress

Jika Anda perlu mengakses file functions.php tema atau tema anak Anda, Anda dapat melakukannya langsung dari Editor File Tema WordPress. Di dasbor WordPress Anda, buka Appearance → Theme File Editor .

Anda akan dibawa ke halaman Edit Themes . Dari sini, di bawah tarik-turun di sebelah Pilih tema untuk diedit , pilih tema Anda dan klik Pilih . Anda akan melihat daftar file yang tersedia untuk diedit di bawah kolom File Tema di ujung kanan layar Anda. Klik function.php untuk membuka file.

menemukan file functions.php

Jika Anda berada di file functions.php tema induk Anda, Anda akan melihat pemberitahuan peringatan di bagian bawah layar di atas tombol Perbarui File yang mengatakan, “Perhatian: Ini adalah file dalam tema induk Anda saat ini.”

Catatan: Jika Anda bukan pengembang tema, Anda harus membuat perubahan pada file functions.php tema anak Anda untuk menghindari suntingan Anda ditimpa di pembaruan tema mendatang.

Mengakses functions.php melalui SFTP

Langkah 1: Instal klien SFTP Anda. Jika Anda belum memiliki klien SFTP, Anda harus mengunduhnya. Ada beberapa opsi gratis dan premium yang hebat di luar sana, termasuk:

Aplikasi Sistem Gratis atau Premium
WinSCP jendela Gratis
Filezilla Windows, Mac, Linux Opsi gratis dan premium
Cyberduck Windows, Mac Gratis
Mengirimkan Mac Premium

Dalam contoh ini, kita akan menggunakan Filezilla. Klien SFTP lainnya harus bekerja dengan cara yang sama.

Langkah 2: Ambil kredensial SFTP Anda. Untuk masuk ke server Anda melalui SFTP, Anda memerlukan detail berikut:

  • Host (alamat IP atau url server Anda)
  • Nama pengguna SFTP
  • Kata sandi
  • nomor port

Detail ini biasanya dapat ditemukan di panel kontrol hosting Anda. Informasi ini mungkin dibuat untuk Anda atau host Anda mungkin meminta Anda untuk membuat nama pengguna dan kata sandi SFTP. Jika Anda tidak tahu di mana menemukan kredensial ini atau mengalami kesulitan mencari tahu cara membuatnya, cari petunjuk di dokumentasi bantuan host Anda atau hubungi tim dukungan mereka.

Langkah 3: Masukkan kredensial SFTP Anda.

Masukkan alamat IP atau url host Anda, nama pengguna SFTP, sandi, dan nomor port Anda (biasanya 22 atau 2222, tetapi beberapa host mungkin menggunakan port yang berbeda).

memasukkan kredensial sftp di Filezilla

Catatan: Anda mungkin mendapatkan peringatan 'kunci host tidak diketahui' jika klien SFTP Anda menggunakan otentikasi kepercayaan pada penggunaan pertama (TOFU). Centang 'Selalu percaya host ini, tambahkan kunci ini ke cache' jika Anda berencana menggunakan klien SFTP untuk mengakses situs lagi. Klik OK untuk melanjutkan.

pesan kunci host tidak dikenal di filezilla

Langkah 4: Navigasikan ke direktori root situs web Anda.

Setelah Anda masuk, Anda akan melihat dua pohon file ditampilkan di tombol layar Anda — satu di kiri dan satu di kanan. Sisi kanan mencantumkan direktori di server web Anda (jarak jauh). Sisi kiri mencantumkan direktori di komputer Anda (lokal).

Direktori root Anda biasanya berada di folder berlabel www atau public_html , tetapi mungkin menggunakan nama yang berbeda. Jika Anda tidak yakin folder apa yang harus dicari, tanyakan pada penyedia hosting Anda. Anda akan tahu bahwa Anda berada di folder yang benar jika Anda melihat folder wp-admin , wp-content , dan wp-includes di dekat bagian atas daftar file Anda.

menemukan folder public_html di Filezilla

Langkah 5: Arahkan ke functions.php di inti WordPress, tema induk Anda, atau tema anak. Jika Anda mencari functions.php di inti WordPress, Anda akan menavigasi ke folder wp-includes .

Jika Anda mencari functions.php di direktori tema Anda, Anda akan menavigasi ke wp-contentthemesyourtheme .

Untuk menemukan file functions.php tema anak Anda, buka wp-content → themes → yourtheme-child.

Langkah 6: Unduh functions.php . Sekarang setelah Anda mengetahui di mana functions.php berada dan telah mengaksesnya, Anda mungkin ingin memeriksa atau mengedit file tersebut. Sebelum Anda dapat melakukannya, Anda harus mengunduhnya. Klik kanan pada file functions.php Anda dan pilih Download . File Anda akan diunduh ke mesin lokal Anda.

mengunduh file functions.php dari Filezilla

Mengakses functions.php di cPanel

Jika host Anda menggunakan cPanel, Anda dapat mengakses functions.php melalui pengelola filenya. Jika Anda tidak tahu cara menemukan cPanel di dasbor host Anda, hubungi dukungan pelanggan mereka untuk mendapatkan bantuan.

Langkah 1: Buka File Manager cPanel. Setelah Anda berada di cPanel, navigasikan ke bagian Files dan klik File Manager .

Langkah 2: Buka folder root situs web Anda. Folder root biasanya disebut www atau public_html , tetapi mungkin memiliki nama lain. Konvensi penamaan folder root berbeda pada beberapa host, jadi jika Anda tidak yakin folder apa yang harus dicari, tanyakan pada penyedia hosting Anda.

Anda akan tahu bahwa Anda berada di folder yang benar jika Anda melihat folder wp-admin , wp-content , dan wp-includes di dekat bagian atas daftar file Anda.

Langkah 3: Temukan dan unduh functions.php . File functions.php untuk inti WordPress terletak di folder wp-includes Anda.

File functions.php tema Anda terletak di wp-content → themes → yourtheme .

Jika Anda mencari file functions.php tema anak Anda, Anda dapat menemukannya di wp-content → themes → yourtheme-child.

Ketika Anda telah menemukan file functions.php yang Anda cari, klik kanan pada functions.php dan klik Download , atau klik sekali functions.php lalu klik opsi Download dari menu atas.

mengunduh file functions.php dari cpanel

Jika Anda mengganti nama file saat Anda menyimpannya, pastikan untuk menamainya kembali ke functions.php sebelum mengunggahnya kembali. Dan sebelum Anda membuat perubahan dan menimpa functions.php , buat cadangan situs WordPress Anda.

Kapan saya harus mengedit functions.php di WordPress?

Sebelum kita masuk ke cara mengedit functions.php , kita harus berbicara tentang apakah dan kapan Anda harus mengeditnya. Ada banyak alasan Anda mungkin ingin mengedit kode PHP di WordPress, tetapi menambahkan kode itu ke file functions.php Anda tidak selalu merupakan pilihan terbaik dan hanya boleh dilakukan dalam keadaan tertentu, yang akan kita bahas di bawah ini.

Kapan harus mengedit functions.php di inti WordPress

Tidak pernah. Anda tidak boleh mengedit functions.php di inti WordPress. Paling-paling, Anda dapat menggantinya jika ternyata telah rusak, tetapi menghapus atau menambahkan kode ke fungsi inti WordPress.php kemungkinan akan merusak situs Anda. Jadi, Anda dapat membukanya, memeriksanya, menggantinya dengan salinan baru jika perlu, tetapi jangan main-main di situs web langsung mana pun.

Kapan harus mengedit functions.php di tema Anda

Ketika datang ke file functions.php tema Anda, Anda mungkin perlu mengeditnya atau tidak. Jika Anda membuat tema sendiri, Anda pasti ingin menambahkan beberapa kode khusus ke functions.php . Hampir setiap tema memiliki kode dalam file functions.php -nya yang memberikan serangkaian fitur dan kemampuan unik. Selain stylesheet Anda, fungsi-fungsi ini adalah bagian besar dari apa yang membuat satu tema berbeda dari yang lain.

Jika Anda menambahkan kode ke file functions.php tema Anda yang tidak spesifik untuk tema Anda dan dapat digunakan secara terpisah dari tema Anda, pertimbangkan untuk menjadikannya sebagai plugin. Dengan cara ini Anda dapat menggunakan fitur itu di beberapa tema dan bahkan mengirimkannya ke perpustakaan plugin WordPress.org yang mungkin bermanfaat bagi pengguna WordPress lainnya.

Sebelum membuat plugin Anda, periksa pustaka plugin untuk memastikan apa yang Anda buat belum ada. Jika solusi kualitas sudah ada, Anda mungkin ingin menghemat energi pengembangan untuk fitur kustom yang berbeda di situs Anda.

Kapan harus mengedit functions.php di tema anak Anda

Jika Anda menggunakan tema dari pengembang, dan ingin memodifikasi file functions.php , Anda harus selalu menggunakan tema anak untuk membuat perubahan tersebut. Ketika pengembang tema mengeluarkan versi baru dari tema mereka dan Anda memperbarui ke yang terbaru, tema Anda saat ini ditimpa oleh file baru — termasuk functions.php .

Tema anak tidak terpengaruh oleh pembaruan tema induk, jadi Anda akan mempertahankan semua kode kustom Anda jika Anda membuat perubahan pada file functions.php tema anak.

Sebelum menambahkan kode, pertimbangkan apakah menggunakan plugin akan menjadi solusi yang lebih baik. Apakah kode yang Anda tambahkan khusus untuk tema Anda? Edit file functions.php tema anak Anda. Apakah kode yang Anda tambahkan masih ingin Anda miliki jika Anda mengubah tema di masa mendatang (misalnya kode pelacakan Google Analytics atau piksel Facebook)? Gunakan plugin.

Cara mengedit functions.php di WordPress

Anda harus selalu mengambil langkah untuk melindungi situs Anda dari kesalahan yang mungkin Anda buat saat mengedit functions.php . Jadi sebelum Anda mulai melakukan pengeditan, buat cadangan situs Anda dan pertimbangkan untuk membuat situs pementasan untuk mengujinya terlebih dahulu. Dengan cara ini situs langsung Anda tidak terganggu jika Anda secara tidak sengaja menambahkan beberapa kode ke functions.php yang menyebabkan masalah besar atau — lebih buruk lagi — situs Anda mogok sepenuhnya.

Sekarang setelah Anda mencadangkan situs Anda, Anda dapat melanjutkan untuk mengedit file functions.php Anda.

Cara mengedit functions.php di Editor File Tema WordPress

Mengedit functions.php di Editor File Tema WordPress sedikit berisiko. Jika Anda menggunakan alat ini karena Anda tidak memiliki akses ke cPanel atau SFTP, maka Anda akan berada dalam situasi yang sangat buruk jika pengeditan Anda menyebabkan kesalahan fatal yang mencegah Anda mengakses dashboard WordPress Anda.

Jika Anda ingin mengedit functions.php di Theme File Editor, pastikan Anda memiliki akses langsung ke server dan backup Anda sehingga Anda dapat memulihkan file backup Anda dengan cepat.

Anda dapat menemukan Editor File Tema WordPress di bawah Appearance → Theme File Editor di panel admin WordPress Anda.

Anda akan dibawa ke layar Edit Tema, di mana Anda harus memilih tema anak Anda, lalu pilih file functions.php dari kolom File Tema di sebelah kanan layar Anda.

mengedit file functions.php di editor file tema

Jika Anda memilih tema induk sebagai gantinya, Anda akan melihat peringatan di bagian bawah layar Anda yang mengatakan, " Perhatian: Ini adalah file dalam tema induk Anda saat ini." Anda tidak ingin mengedit file functions.php tema induk Anda karena perubahan Anda akan ditimpa saat Anda memperbarui tema berikutnya.

Jika Anda melihat fungsi dalam file yang tidak Anda pahami, WordPress menyertakan fitur pencarian dokumentasi praktis tepat di atas tombol Perbarui File . Klik tarik-turun dan cari nama fungsi yang ingin Anda pelajari lebih lanjut dan klik Cari . Anda akan diarahkan ke dokumentasi WordPress.org untuk fungsi tersebut.

Setelah selesai dengan perubahan Anda, klik Perbarui File . Periksa bagian depan dan belakang situs Anda untuk memastikan semuanya masih berfungsi sebagaimana mestinya. Jika Anda menemukan kesalahan fatal dan perlu memulihkan functions.php dari cadangan Anda, Anda dapat melakukannya di cPanel atau melalui SFTP.

Mengedit functions.php dengan editor teks

Cara terbaik untuk mengedit functions.php adalah dalam perangkat lunak pengedit kode pilihan Anda. Karena Anda sedang mengedit salinan yang offline di komputer lokal Anda, Anda tidak perlu terhubung ke internet untuk mengerjakan file Anda. Anda juga akan memiliki kontrol lebih besar saat Anda melakukan perubahan ke situs langsung Anda.

Anda dapat mengedit kode Anda kapan pun Anda mau dan mengunggah perubahan Anda pada saat situs web Anda biasanya mendapatkan lalu lintas paling sedikit. Dengan begitu, jika ada masalah, jumlah pengunjung paling sedikit akan terpengaruh.

Langkah 1: Buka functions.php di editor teks Anda. Jika Anda tidak terbiasa menggunakan editor teks, ada beberapa opsi gratis untuk dipilih.

Kode sumber gratis dan editor teks biasa:

Aplikasi Sistem
Notepad++ jendela
Atom.io Windows, Mac, Linux
Sublim Windows, Mac, Linux
TeksSunting
*pastikan Anda dalam mode teks biasa
Mac (aplikasi bawaan)
buku catatan Windows (aplikasi bawaan)

Langkah 2: Edit functions.php dan simpan ke mesin lokal Anda. Tampilan Anda mungkin terlihat berbeda tergantung pada program apa yang Anda gunakan untuk mengedit file functions.php Anda. Seperti inilah tampilan kode PHP di atom.io:

mengedit functions.php di atom.io

Tambahkan atau ubah informasi apa pun yang Anda perlukan, lalu simpan file Anda.

Langkah 3: Masuk ke server web Anda melalui SFTP atau cPanel. Arahkan ke folder tema atau tema anak Anda dan temukan file functions.php .

Langkah 4: Ubah nama file functions.php di server web Anda. Jika versi editan Anda mengandung kesalahan, Anda tidak ingin menimpa file functions.php asli Anda. Anda telah membuat cadangan, tentu saja, tetapi alih-alih harus menarik file functions.php dari cadangan Anda, Anda akan memiliki file asli Anda di tangan.

Anda ingin dapat memulihkan file functions.php dengan cepat jika terjadi kesalahan, jadi mengganti namanya menjadi sesuatu seperti 'functions-orginal.php' akan memastikan bahwa konten file asli disimpan di server Anda.

mengganti nama file functions.php

Langkah 5: Unggah functions.php dari mesin lokal Anda ke server web Anda. Menggunakan SFTP atau cPanel, unggah file functions.php Anda ke direktori utama tema atau tema anak Anda.

Langkah 6: Kunjungi situs web Anda untuk memastikannya berfungsi dengan benar. Setelah Anda mengunggah file functions.php Anda, Anda harus memeriksa untuk memastikan bahwa semuanya berfungsi di situs Anda. Kunjungi ujung depan dan masuk ke dasbor WordPress untuk memastikan semuanya dapat diakses dan ditampilkan serta berfungsi dengan benar.

Langkah 7: Hapus file functions.php lama yang telah diganti namanya . Setelah Anda memastikan bahwa situs Anda berfungsi dengan baik, Anda dapat menghapus functions-original.php (atau apa pun namanya). Jika Anda menemukan masalah di jalan, Anda masih harus memiliki file functions.php Anda dari cadangan yang Anda buat.

Mengedit functions.php langsung di cPanel

Jika Anda tidak memiliki atau tidak ingin menggunakan editor kode sumber, Anda dapat mengedit functions.php langsung di cPanel (jika host Anda menggunakan cPanel). Seperti mengedit di Editor File Tema WordPress, ini sedikit lebih berisiko daripada bekerja di mesin lokal Anda. Jika koneksi internet Anda terganggu saat Anda mengedit, Anda bisa kehilangan perubahan Anda. Anda juga berisiko menimpa file functions.php asli Anda.

Langkah 1: Temukan functions.php di cPanel. Di cPanel, klik Manajer File .

Navigasikan ke folder root Anda (biasanya public_html atau www , tetapi bisa memiliki nama yang berbeda).

Langkah 2: Buat salinan dari functions.php . Di menu utama File Manager Anda, klik + Folder untuk menambahkan folder baru. Anda ingin membuat salinan file functions.php Anda dan menyimpannya di sini sebagai cadangan.

Beri nama folder baru Anda dengan sesuatu yang mudah dikenali seperti 'fungsi cadangan' sehingga Anda dapat menemukannya dengan mudah nanti. Klik Buat Folder Baru .

membuat cadangan cpanel dari file functions.php

Langkah 3: Temukan functions.php di folder tema atau tema anak Anda dan salin ke folder cadangan. Di folder tema atau tema anak Anda, gulir ke bawah ke functions.php dan klik kanan pada nama file. Pilih Salin .

menyalin file functions.php di cpanel

Kotak dialog akan muncul meminta Anda untuk memasukkan jalur yang ingin Anda salin filenya. Jalur ke folder tempat Anda berada saat ini akan terisi sebelumnya, jadi jika jalur file ke folder cadangan Anda berbeda dari yang Anda lihat, ketik jalur yang benar. Klik Salin File .

Langkah 4: Arahkan kembali ke functions.php di direktori tema atau tema anak. Sekarang setelah Anda memiliki cadangan, Anda dapat kembali ke file functions.php di direktori tema atau tema anak dan mulai mengedit.

Klik kanan pada functions.php , lalu klik Edit .

Langkah 5: Edit functions.php . Anda sekarang akan melihat isi file functions.php Anda di layar Anda. Seharusnya terlihat seperti ini:

contoh file function.php di cpanel

Tambahkan atau ubah informasi apa pun yang Anda butuhkan, lalu simpan file Anda.

Menggunakan plugin untuk menambahkan fungsi ke situs WordPress Anda

Alih-alih langsung memodifikasi file functions.php , Anda dapat menggunakan plugin seperti Cuplikan Kode untuk menambahkan fungsi ke situs web Anda. Jika Anda perlu menambahkan cukup banyak fungsi ke situs Anda, akan mudah kehilangan jejak fungsi mana yang masih Anda butuhkan dan mana yang tidak.

Cuplikan Kode menyediakan antarmuka pengguna grafis (GUI) untuk mengelola blok kode PHP Anda. Anda dapat menambahkan deskripsi sehingga Anda tahu apa yang seharusnya dilakukan kode, dan mengaktifkan dan menonaktifkan blok kode, seperti mengaktifkan dan menonaktifkan plugin.

Karena Anda tidak membuat perubahan pada functions.php , ini adalah metode yang jauh lebih aman untuk menambahkan fungsi PHP ke situs WordPress Anda.

Bagaimana melindungi functions.php dari eksploitasi keamanan

File functions.php sering menjadi target peretas, jadi menjaganya agar tetap aman harus menjadi prioritas utama. Ambil langkah-langkah berikut untuk membantu Anda mengamankan file functions.php Anda:

1. Instal plugin keamanan

Dengan menggunakan plugin keamanan, Anda akan menikmati perlindungan tingkat lanjut dari peretas di berbagai area situs Anda.

Jetpack Security adalah opsi murah yang membantu menjaga situs Anda aman dari serangan berbahaya. Ini termasuk pemindaian malware dan perbaikan sekali klik, perlindungan serangan brute force, pemantauan waktu henti, log aktivitas sehingga Anda tahu jika dan kapan situs Anda diretas, dan perlindungan masuk melalui otentikasi dua faktor (2FA).

Pesan beranda Jetpack

Jetpack Security juga memantau situs Anda untuk setiap perubahan pada file inti WordPress, plugin usang atau tidak aman, dan kerentanan lainnya sehingga Anda dapat menangkapnya sebelum peretas menemukannya dan memanfaatkannya.

Plus, ini menyediakan cadangan WordPress waktu nyata sehingga Anda dapat dengan cepat memulihkan versi bersih jika terjadi kesalahan — bahkan jika Anda tidak dapat masuk ke situs Anda.

2. Tolak akses ke WordPress core functions.php melalui . file htaccess

Jika situs web Anda dihosting di server Apache, Anda dapat menggunakan file . htaccess untuk membantu melindungi file functions.php inti WordPress Anda dengan memblokir akses ke seluruh folder wp-includes .

Langkah 1: Unduh .htaccess

Menggunakan SFTP atau cPanel, navigasikan ke folder root situs web Anda. Klik kanan pada . htaccess dan pilih Unduh untuk mengunduh file ke komputer lokal Anda.

Langkah 2: Tambahkan kode untuk memblokir akses ke folder wp-include

Dalam kode sumber atau editor teks biasa, buka . htaccess dan tambahkan kode berikut:

 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule>

Simpan file Anda. Pastikan program editor Anda tidak menyertakan ekstensi file. Jika Anda menggunakan Notepad++ atau Edit Teks, ekstensi file .txt mungkin akan ditambahkan. File harus diberi nama '.htaccess.'

Langkah 3: Unggah file . htaccess kembali ke folder root

Unggah hasil edit Anda. htaccess kembali ke folder root situs web Anda. Anda akan ditanya apakah ingin menimpa file yang ada. Klik Oke .

Sekarang Anda. htaccess harus memblokir akses eksternal ke file apa pun di folder wp-includes Anda, termasuk functions.php .

3. Tolak akses ke functions.php menggunakan functions.php

Anda dapat memblokir akses langsung ke file functions.php Anda dengan menambahkan potongan kode berikut langsung ke functions.php .

 if (!empty($_SERVER['SCRIPT_FILENAME']) && 'functions.php' == basename($_SERVER['SCRIPT_FILENAME'])) { die ('Access denied!'); }

4. Sembunyikan functions.php di luar direktori root

Peretas mengetahui lokasi default semua file WordPress standar. Mengubah lokasi file sensitif ke folder akses terbatas di luar direktori root dapat menjauhkannya dari jangkauan peretas. Proses ini sedikit lebih rumit daripada hanya menambahkan beberapa kode ke file .htaccess Anda, tetapi ini sepadan dengan upaya ekstra untuk lapisan perlindungan tambahan ke situs web Anda.

Hanya dalam beberapa langkah, Anda dapat mengamankan functions.php di luar folder root.

Langkah 1: Unduh file functions.php Anda saat ini

Jika Anda memindahkan file functions.php tema Anda, Anda akan menemukannya di bawah wp-content → themes → yourtheme . File tema anak Anda akan berada di wp-content → themes → yourtheme-child .

Setelah Anda menemukan file functions.php Anda, unduh ke komputer Anda melalui SFTP atau cPanel.

Langkah 2: Buat direktori baru di luar folder root

Navigasikan di luar direktori root Anda ke tingkat folder file berikutnya. Anda akan melihat nama folder root Anda serta beberapa folder lainnya. Di direktori ini, klik kanan dan pilih Buat direktori .

membuat direktori di Filezilla

Beri nama direktori Anda yang mudah diingat sebagai lokasi file functions.php Anda.

Langkah 3: Unggah function.php ke folder baru Anda

Unggah file functions.php yang Anda unduh sebelumnya ke folder baru Anda melalui SFTP atau cPanel.

mengunggah file functions.php

Periksa izin folder dan file functions.php baru Anda dan pastikan mereka disetel ke 600.

pengaturan izin untuk file functions.php

Langkah 4: Arahkan WordPress ke file functions.php baru

Anda harus memiliki file functions.php di direktori baru Anda serta file functions.php asli yang masih ada di folder tema Anda. Agar WordPress dapat menemukan dan menggunakan file yang benar, Anda harus menghapus semua informasi dalam file functions.php file tema Anda dan potongan kode berikut:

 <?php include('/home3/usr/securefunctions/functions.php'); ?>

Catatan: Jalur file Anda akan terlihat berbeda, karena Anda akan menggunakan nama direktori server Anda.

Di cPanel, Anda dapat membuka file functions.php direktori root dan mengeditnya secara langsung atau Anda dapat mengedit salinan yang Anda unduh ke komputer lokal Anda sebelumnya menggunakan editor kode sumber. Untuk contoh ini, kami telah mengedit salinan yang kami unduh sebelumnya menggunakan Atom.io.

Simpan file funtions.php Anda dan unggah kembali ke direktori tema Anda.

mengembalikan file functions.php melalui ftp

Anda akan ditanya apakah ingin menimpa file tersebut. Klik Oke .

Sekarang, WordPress harus mereferensikan file functions.php baru Anda di lokasi amannya di luar folder root.

4. Ubah nama file functions.php Anda

Mengubah nama file functions.php Anda adalah langkah lain yang dapat Anda ambil untuk menjaganya tetap aman dari peretas. Anda harus menghosting file ini di luar folder root Anda, jadi jika Anda telah mengikuti proses di Sembunyikan functions.php di luar direktori root , Anda hanya perlu melakukan beberapa langkah tambahan.

Langkah 1: Di direktori aman Anda di luar folder root, ubah nama file functions.php

Buka folder functions.php yang dihosting di luar direktori root Anda dan ubah nama file menjadi sesuatu yang unik, seperti 'keep-out.php' atau 'ini-bukan-fungsi-yang Anda cari. php' . Oke, yang terakhir itu agak panjang, tetapi tidak masalah apa yang Anda sebut itu selama Anda memasukkannya ke dalam jalur file di salinan folder tema functions.php .

Langkah 2: Edit kode di functions.php di direktori root Anda untuk mencerminkan perubahan nama

Sekarang Anda telah mengubah nama menjadi sesuatu selain functions.php , Anda harus memastikan salinan direktori tema Anda dari functions.php menunjuk ke nama file yang benar.

Unduh salinan folder utama dari functions.php ke komputer lokal Anda dan edit dengan editor teks Anda. Ubah nama file functions.php menjadi nama file baru Anda, lalu simpan file Anda.

 <?php include('/home3/usr/secureconfig/keep-out.php'); ?>

Langkah 3: Unggah functions.ph p kembali ke direktori tema

Anda akan ditanya apakah ingin menimpa file yang ada. Klik Oke .

Sekarang WordPress harus menunjuk ke file fungsi Anda yang diubah namanya.

Lapisan keamanan tambahan untuk functions.php

Anda dapat menambahkan beberapa perlindungan tambahan ke situs web Anda secara keseluruhan, termasuk file functions.php Anda, dengan membuat perubahan serupa pada file wp-config Anda seperti mengganti namanya, menghostingnya di luar direktori root, dan menolak akses publik.

Jika Anda melihat kode yang mencurigakan di file functions.php Anda dan khawatir Anda mungkin telah diretas, ada baiknya Anda membaca tentang cara mendeteksi dan menghapus malware dari situs WordPress Anda.

Kode apa yang bisa saya tambahkan ke functions.php di WordPress?

Ada banyak potongan kode berbeda yang dapat Anda tambahkan ke file functions.php WordPress Anda. Namun, Anda sering kali lebih baik menggunakan plugin (atau menulis plugin Anda sendiri) untuk banyak fungsi. Jika kode yang ingin Anda tambahkan khusus untuk tema Anda, Anda dapat menambahkan kode PHP tersebut ke file functions.php tema anak Anda.

Di bawah ini adalah beberapa fungsi berguna yang dapat Anda masukkan ke file functions.php tema anak Anda:

Menambahkan pengguna admin baru di functions.php

Jika Anda kehilangan akses admin ke dasbor WordPress Anda dan tidak dapat memulihkan nama pengguna atau kata sandi Anda melalui email, Anda dapat membuat pengguna admin baru melalui akun hosting Anda. Baik melalui SFTP atau cPanel, Anda dapat mengunduh file functions.php Anda dan menambahkan kode berikut untuk membuat pengguna admin baru untuk situs Anda.

 function qode_add_new_admin_account() { $user = 'your-username'; $password = 'your-password'; $email = 'your-email'; if ( ! username_exists( $user ) && ! email_exists( $email ) ) { $user_id = wp_create_user( $user, $password, $email ); $user = new WP_User( $user_id ); $user->set_role( 'administrator' ); } } add_action( 'init', 'qode_add_new_admin_account' );

Pada kode di atas, ganti 'your-username', 'your-password', dan 'your-email' dengan kredensial Anda sendiri. Simpan file functions.php Anda dan unggah kembali ke folder tema Anda. Ini akan membuat pengguna admin baru dengan nama pengguna, kata sandi, dan alamat email yang telah Anda tetapkan dalam kode.

Setelah Anda mengunggah file Anda, navigasikan ke halaman login situs Anda dan gunakan nama pengguna dan kata sandi baru Anda untuk masuk. Setelah login Anda berhasil dan Anda telah mengonfirmasi bahwa Anda memiliki hak admin, Anda harus menghapus kode yang Anda tambahkan ke buat akun admin baru Anda dari functions.php .

Menambah dan menghapus ukuran gambar di functions.php

Saat Anda mengunggah gambar ke Perpustakaan Media WordPress, beberapa variasi gambar Anda dihasilkan. WordPress memiliki thumbnail default, ukuran kecil, sedang, dan besar yang digunakan selain gambar ukuran penuh Anda. Tema Anda umumnya akan menarik ukuran gambar yang optimal untuk setiap bagian situs Anda.

Jika Anda membuat tema sendiri atau perlu membuat modifikasi pada tema anak untuk mengakomodasi ukuran gambar kustom tambahan, Anda dapat melakukannya di file functions.php Anda.

Gunakan kode berikut dan ubah nama ukuran gambar kustom Anda dari 'custom-small-square' dan 'custom-landscape' menjadi nama apa pun yang ingin Anda gunakan. Angka di sebelah nama ukuran gambar khusus Anda mewakili ukuran gambar dalam piksel, jadi masukkan nilai piksel dengan lebar pertama dan tinggi kedua.

 function register_custom_image_sizes() { if ( ! current_theme_supports( 'post-thumbnails' ) ) { add_theme_support( 'post-thumbnails' ); } add_image_size( 'custom-small-square', 450, 450, true ); add_image_size( 'custom-landscape', 1000, 600 ); } add_action( 'after_setup_theme', 'register_custom_image_sizes' );

Keep in mind that additional custom image sizes can weigh down your site and impact load times. If you have some WordPress default image sizes that your theme doesn't use, you may want to delete and disable those to make room for your custom sizes.

If you want to disable WordPress default image sizes, you can place this code snippet into your functions.php file:

 add_filter( 'intermediate_image_sizes_advanced', 'prefix_remove_default_images' ); // This will remove the small, medium, and large default image sizes. function prefix_remove_default_images( $sizes ) { unset( $sizes['small']); // 150px unset( $sizes['medium']); // 300px unset( $sizes['large']); // 1024px return $sizes; }

If you only need to disable one or two sizes, you can only add those sizes to the code above and delete the code that you don't need.

Use functions.php to allow additional file types in uploads

WordPress only allows a few different file types to be uploaded in your WordPress dashboard. This is a reasonable security measure, but you might encounter a situation where you need to upload a file type that's not natively allowed.

To add more allowed file types to WordPress, add the following code to your child theme's functions.php :

 function additional_upload_file_types($mime_types){ $mime_types['stl''] = 'application/sla'; $mime_types['stl'] = 'application/vnd.ms-pki.stl'; $mime_types['stl'] = 'application/x-navistyle'; return $mime_types; } add_filter('upload_mimes', 'additional_upload_file_types', 1, 1);

For the above example, we used the stl file type, which is a CAD file type. It's an unusual file type to upload to a website outside of certain niche industries, but if your site is for an industrial designer, engineering firm, or even an orthodontics lab, you might find the ability to upload STL files really useful.

You can replace the $mime_type variable with whatever file extension suits the needs of your website. You'll also need to include the media type and subtype after that (eg 'application/sla' or 'image/octet-stream'). Here's a complete list of mime types that you can refer to.

Frequently asked questions about editing the functions.php file in WordPress

We've covered what the functions.php file is, how to find functions.php , how to access it, how to edit it, and a few code snippets you can add to your functions.php file. We'll wrap things up with a few helpful answers to frequently asked questions.

Do I really need to use a child theme to edit functions.php ?

Jawaban singkatnya? Ya.

If you're a theme developer, you'll definitely want to add your theme-specific functions directly to your theme's functions.php file. If you're modifying a theme from another developer that will get regular updates, however, you'll absolutely want to use functions.php within a child theme.

Most theme developers will periodically make updates to their themes for security and performance reasons, or to add new features. If you change the parent theme's functions.php file, those changes will all be overwritten when you update to your theme's latest version. All your hard work and customizations — poof! Hilang.

Child themes aren't touched when the parent theme updates, so if you make changes to your child theme's functions.php file, your changes will be preserved any time you update your parent theme.

I edited functions.php and now I don't have access to my WordPress dashboard. Membantu!

In the unfortunate event that you edited the functions.php file and caused a critical error on your site that kept you from accessing the WordPress dashboard, don't worry — all is not lost!

There are a few things you can do to restore access to your site. You can edit functions.php via SFTP and a text editor or directly in cPanel if you know which bit of code caused the issue. Alternatively, you can restore functions.php from a backup or download a fresh copy of functions.php from your theme developer.

I know what code I messed up. I just need to access and edit functions.php to fix it.

See How to edit functions.php above for instructions on how to access and edit your theme or child theme's functions.php file.

I have no clue what I did to my functions.php file, but I have a backup.

If you have a backup on hand, you can access your files either on your web host's server or your remote server (depending on where you have opted to store these files), and use them to replace your corrupt functions.php file via SFTP or cPanel.

If you feel more comfortable restoring your entire site backup rather than trying to restore just the functions.php file, our article, “How to Restore WordPress from a Backup” goes in depth on the different methods you can use to restore your WordPress site.

I have no idea what code caused the problem and I didn't make a backup.

If you don't have a backup, you can download a fresh copy of the theme you're using from your theme developer, extract the functions.php file, and overwrite the broken functions.php file on your server via SFTP or cPanel.

Note: If you're using a theme that hasn't been updated in awhile, you may encounter issues in overwriting functions.php with a version that's from a much more recent update. If you encounter issues, you might be better off just manually updating your entire theme to the latest version. Alternatively, you can contact your theme developer to get the theme files for your current version and use that version of functions.php .

Can I add JavaScript to my functions.php file?

Yes, you can add code to your functions.php file that will add your custom JavaScript to either specific pages, posts, or all pages and posts on your site. This article covers all the different ways you can add JavaScript to your functions.php file.