Deskripsi
Dalam pelajaran ini, Anda akan mempelajari bahwa tema WordPress sering kali menyertakan file bernama functions.php, yang merupakan tempat untuk menambahkan fitur unik dan fungsi khusus. Namun, plugin juga dimaksudkan untuk menambahkan fitur dan fungsionalitas ke situs Anda. Kapan Anda harus menggunakan functions.php untuk menambahkan kode khusus dan kapan Anda harus menggunakan plugin? Pelajaran ini akan membantu Anda memahami perbedaan antara keduanya.
Tujuan
Setelah menyelesaikan pelajaran ini, Anda akan dapat:
- Mengenali dan mengidentifikasi penggunaan functions.php dibandingkan dengan penggunaan plugin untuk menambahkan fungsionalitas.
- Menjelaskan kapan harus dan kapan tidak boleh menggunakan functions.
Keterampilan Prasyarat
Anda akan lebih siap mengikuti pelajaran ini jika memiliki:
- Pengetahuan dasar tentang cara membuat tema dan plugin
- Pengetahuan dasar tentang PHP dan kode WordPress
Pertanyaan Persiapan
- Apakah Anda sudah terbiasa memasang dan mengaktifkan tema melalui Dasbor WordPress?
- Apakah Anda akan memiliki situs WordPress sandbox yang di-host secara lokal atau jarak jauh untuk digunakan selama kelas?
- Apakah Anda merasa nyaman menggunakan editor teks untuk mengedit kode?
- Apakah Anda pernah menambahkan fungsionalitas khusus ke situs WordPress Anda?
- Apakah Anda sudah terbiasa dengan hierarki file tema WordPress?
Slide
- Tidak ada slide untuk Rencana Pelajaran ini
Materi yang Dibutuhkan
- WordPress terpasang secara lokal
- Dua atau lebih tema WordPress yang terpasang
Catatan untuk Presenter
- Akan lebih mudah bagi siswa untuk bekerja menggunakan salinan WordPress yang terpasang secara lokal. Sisihkan waktu sebelum kelas untuk membantu siswa memasang WordPress secara lokal jika diperlukan. Untuk informasi lebih lanjut tentang cara memasang WordPress secara lokal, silakan kunjungi Memasang di Server Lokal.
- Jawaban yang diharapkan untuk pertanyaan penyaringan adalah “ya.” Peserta yang menjawab “tidak” untuk semua pertanyaan mungkin belum siap mengikuti pelajaran ini.
Garis Besar Pelajaran
- Memperkenalkan file functions.php
- Menunjukkan perbedaan antara functions.php dan plugin
- Menjelaskan kapan sebaiknya menggunakan functions.php
- Memberikan contoh hal-hal yang boleh dan tidak boleh ditambahkan ke functions.php
- Menunjukkan perbedaan penerapan functions.php pada Tema Blok dan Tema Klasik
Latihan
Tambahkan fungsionalitas hanya ke functions.php.
1. Tambahkan fungsionalitas panjang kutipan khusus ke file functions.php tema aktif Anda dengan menyisipkan kode berikut ke dalam file:
function themename_custom_excerpt_length( $length ) {
return 40; //number of words in excerpt
}
add_filter('excerpt_length','themename_custom_excerpt_length', 99 );
2. Buat tulisan blog uji dengan kutipan yang panjang. Pastikan fungsionalitas tersebut berfungsi dengan benar, lalu ganti tema.
3. Perhatikan bahwa fungsionalitas tersebut tidak lagi tersedia karena ditempatkan di file functions.php tema tertentu.
Penilaian
Manakah dari hal-hal berikut yang tidak boleh berada di function.php?
- Penataan gaya bilah sisi
- Favicon
- Latar belakang khusus
Jawaban: 2. Favicon
Sumber Daya Tambahan
Contoh Pelajaran
Pendahuluan: Apa itu file functions.php?
File functions.php digunakan untuk menambahkan, menghapus, atau mengubah perilaku bawaan WordPress. File ini berada di dalam folder tema. functions.php berfungsi seperti Plugin WordPress, sehingga penulis dapat menambahkan fitur dan fungsionalitas khusus ke situs WordPress. Tema turunan dapat memiliki functions.php sendiri. Namun, berbeda dengan style.css, functions.php milik tema turunan tidak menimpa functions.php milik tema induk. Sebaliknya, file tersebut dimuat sebagai tambahan dari functions.php milik tema induk. (baca selengkapnya di sini)
Apa perbedaan functions.php dengan plugin?
Karena functions.php dan plugin sama-sama memungkinkan Anda membuat fungsionalitas khusus dan mengubah perilaku bawaan di WordPress, mungkin agak membingungkan untuk memahami kapan harus menggunakan functions.php dan kapan harus membuat atau menggunakan plugin untuk menambahkan fungsionalitas. Dengan meninjau kedua metode ini secara lebih mendetail, Anda dapat lebih memahami kapan setiap solusi tepat digunakan. Secara umum, plugin adalah modul mandiri yang dapat diunduh dan dipasang di situs WordPress Anda. Tujuan plugin adalah memperluas fungsionalitas WordPress atau menambahkan fitur baru. Tidak diperlukan modifikasi pada tema aktif untuk mengaktifkan plugin. Sebaliknya, tema adalah sekumpulan file yang dirancang untuk mengubah tampilan WordPress. Meskipun tema dapat menyertakan fungsionalitas khusus (jenis tulisan khusus, panel konfigurasi visual, dan sebagainya), pada umumnya Anda memilih tema berdasarkan cara tema tersebut mengubah pengalaman pengguna di situs Anda. Karakteristik dasar yang mendefinisikan dan membedakan plugin WordPress dengan file functions.php adalah:
Plugin WordPress…
- memerlukan teks header khusus yang unik.
- disimpan di wp-content/plugins, biasanya di dalam subdirektori.
- hanya dijalankan ketika diaktifkan secara individual melalui panel “plugin”.
- berlaku untuk semua tema.
- seharusnya memiliki satu tujuan, misalnya mengubah tulisan menjadi halaman, menyediakan fitur pengoptimalan mesin pencari, atau membantu pencadangan.
File functions.php…
- tidak memerlukan teks header unik.
- disimpan bersama setiap Tema di subdirektori Tema dalam wp-content/themes.
- hanya dijalankan ketika berada di direktori tema yang sedang diaktifkan.
- hanya berlaku untuk tema tersebut. Jika Tema diganti, fungsionalitasnya akan hilang.
- dapat memiliki banyak blok kode yang digunakan untuk berbagai tujuan.
Kapan menggunakan functions.php
Kita dapat menyimpulkan bahwa jika fungsionalitas khusus berkaitan dengan tampilan visual, fungsionalitas tersebut sebaiknya berada di functions.php, dan jika berkaitan dengan cara situs berperilaku, fungsionalitas tersebut sebaiknya disimpan dalam plugin. Namun, secara teknis, kustomisasi tampilan visual juga dapat disimpan dalam plugin, jadi bagaimana kita menentukan mana yang terbaik? Jawabannya ternyata cukup sederhana. Pertanyaan yang perlu kita ajukan kepada diri sendiri adalah: apakah fungsionalitas ini harus terikat pada satu tema tertentu? Karena functions.php berada di folder tema, tema tersebut harus aktif agar fungsionalitas khusus dapat berfungsi. Namun, jika fungsionalitas khusus tersebut disimpan dalam plugin, Anda dapat mengganti tema dan tetap mempertahankan fungsionalitas khusus tersebut. Jadi, cara terbaik untuk menentukan cara menyertakan kode khusus Anda adalah dengan melihat apakah fungsionalitas tersebut khusus untuk suatu tema atau apakah fungsionalitas tersebut mendukung konten atau struktur situs terlepas dari tema yang diaktifkan. Misalnya, Anda mungkin ingin memiliki panjang kutipan yang unik untuk tulisan pada tema tertentu berdasarkan desain dan tata letaknya; oleh karena itu, fungsionalitas kutipan harus ditambahkan ke functions.php. Jika Anda ingin menerapkan tautan “baca selengkapnya” untuk semua tulisan terlepas dari tema yang digunakan, fungsi ini harus ditambahkan sebagai plugin.
Hal-hal yang dapat dimasukkan ke functions.php:
- pemformatan konten
- fungsionalitas header dan footer khusus tema
- hook WordPress untuk mengubah keluaran, misalnya menggunakan filter
excerpt_lengthuntuk mengubah panjang kutipan tulisan - kode yang mengaktifkan dukungan tema untuk gambar mini tulisan, format tulisan, dan menu navigasi
- fungsi yang ingin Anda gunakan kembali di beberapa file templat tema
Hal-hal yang tidak boleh dimasukkan ke functions.php:
- fungsionalitas terkait SEO
- skrip Google Analytics
- jenis tulisan dan taksonomi khusus
Menerapkan functions.php pada Tema Blok dan Tema Klasik
Tema WordPress klasik mengharuskan pengembang menambahkan dukungan ke tema untuk fitur-fitur WordPress. File functions.php pada tema klasik biasanya akan menyertakan fungsi untuk menyiapkan dukungan bagi tema tersebut, menggunakan add_theme_support() function (juga dikenal sebagai ‘dukungan tema’).
Pada tema blok, dukungan tema tertentu diaktifkan secara default dan tidak perlu diaktifkan secara eksplisit. Selain itu, beberapa dukungan tema diaktifkan ketika Anda menyertakan pengaturan dalam file theme.json tema blok. Pengaturan dalam theme.json memiliki prioritas lebih tinggi daripada fitur yang ditambahkan melalui add_theme_support(). Misalnya, menyertakan pengaturan settings.layout dalam theme.json akan mengaktifkan dukungan tema align-wide.