Jika Anda mulai mengembangkan plugin WordPress Anda sendiri, atau Anda membuat tema Anda sendiri, keterampilan yang perlu Anda pelajari adalah menulis fungsi.
Mungkin Anda telah menulis sebuah fungsi yang tidak berfungsi dan Anda menyerah karena frustrasi. Atau mungkin Anda bingung dengan action dan filter hooks dan Anda tidak yakin bagaimana membuat fungsi Anda bekerja
Dalam posting ini, saya akan membantu Anda mengatasi masalah dengan fungsi menulis. Saya akan menunjukkan kepada Anda cara menyusun fungsi Anda, memberi Anda kiat praktik terbaik, dan mengklarifikasi metode yang dapat Anda gunakan untuk mengaktifkan fungsi Anda
Jadi mari kita mulai
Apa yang Anda Butuhkan
Untuk mengikuti tutorial ini, akan sangat membantu jika Anda memiliki fungsi yang sedang Anda kerjakan. Dengan cara itu Anda dapat mempraktekkan apa yang Anda pelajari dan Anda akan mendapatkan lebih banyak dari itu. Dalam hal ini, Anda memerlukan beberapa alat
- Editor kode
- Instalasi pengembangan WordPress
- File untuk fungsi Anda – yang mungkin ada di file functions.php tema Anda. php atau bisa juga di plugin
Jika Anda tidak memilikinya karena Anda belum memulai fungsi Anda, jangan khawatir – baca terus dan Anda akan belajar cara memulai
Di Mana Anda Harus Menempatkan Fungsi Anda?
Sebelum memulai, Anda perlu mempertimbangkan di mana Anda akan meletakkan kode untuk fungsi Anda. Anda memiliki dua pilihan. file fungsi tema Anda atau plugin
Yang Anda gunakan akan bergantung pada tujuan fungsi Anda
- Jika itu terkait dengan desain dan tampilan konten Anda, masukkan ke dalam tema Anda. Ini terkait langsung dengan tema dan hanya akan berfungsi bersama kode tema lainnya
- Jika itu fungsional (dan sebagian besar fungsinya, petunjuknya ada di namanya), lalu taruh di plugin
Banyak dari kita memulai dengan file fungsi kita karena itu lebih mudah, lalu kita beralih ke membuat plugin saat kita sudah percaya diri. Membuat plugin sebenarnya sangat sederhana – lihat panduan kami untuk membuat plugin
Jika Anda yakin plugin Anda harus ada di file fungsi tema dan tema Anda belum memilikinya, lihat panduan utama kami untuk file fungsi
Menulis Fungsi Anda
Jadi, sekarang file Anda sudah terbuka (baik functions. php atau file plugin Anda) dan Anda siap untuk menulis fungsi itu. Mari kita pisahkan menjadi beberapa bagian
Menambahkan Komentar
Saya tahu apa yang Anda pikirkan. komentar, tidak bisakah kita melanjutkan dan menulis beberapa kode? . Dengan cara ini, saya dapat melihat untuk apa fungsi saya ketika saya kembali ke sana. Kadang-kadang saya tidak perlu kembali ke sepotong kode selama bertahun-tahun, dan percayalah, saya akan lupa bagaimana kode itu bekerja ketika saya melakukannya. Dan jika ada orang lain yang perlu mengerjakan fungsi Anda, komentar akan membantu mereka memahami fungsinya
Fungsi saya akan sederhana untuk mendaftarkan beberapa font Google di tema saya. Itu ada di file fungsi tema karena terkait dengan tampilan dan bukan tata letak. Tapi pertama-tama saya akan menambahkan beberapa komentar
Memuat intinya a7f108077e4daa3528082038402d367d
Saya memformat komentar saya seperti ini sehingga jelas dan mudah ditemukan ketika saya menggulir file dengan cepat di kemudian hari
Membuka Fungsi
Sekarang saatnya menulis fungsi. Anda membukanya dengan kata function dan nama fungsinya. Anda harus selalu menggunakan awalan pada nama fungsi Anda untuk membantu memastikan bahwa namanya unik. Dengan cara itu tidak akan berbenturan dengan fungsi apa pun di tema Anda atau plugin pihak ketiga mana pun. Gunakan nama Anda, inisial Anda, atau nama atau inisial situs atau plugin tempat Anda menulis kode
Anda mengikuti ini dengan kurung kurawal, di mana kode untuk tema Anda masuk
Memuat intinya 0b7d5b094da3ebd23761e1c9cc5b6e53
Mengisi Fungsi
Semua kode yang ingin Anda jalankan fungsinya masuk ke dalam kurung kurawal. Ini termasuk semua tag bersyarat, yang akan saya jelaskan lebih detail nanti. Ini kode saya untuk fungsi font google saya
Memuat intinya 21b6fd4ca38cbad3984ae98c6d686f73
Saya tidak akan mengajari Anda cara membuat kode fungsi tertentu di sini, karena itu akan bergantung pada apa yang ingin Anda capai. Kami memiliki banyak postingan lain yang akan membantu Anda dengan berbagai fungsi – belum lagi kursus Akademi kami tentang pengembangan WordPress
Inilah fungsi lengkapnya
Memuat intinya d0a301f3673c015db5c4d1ceb9a89efc
Tapi begitu Anda selesai melakukannya, Anda mungkin membuka halaman di situs Anda dan bertanya-tanya mengapa tidak terjadi apa-apa. Itu karena Anda belum mengaktifkan fungsi Anda
Mengaktifkan Fungsi
Suatu fungsi tidak berguna kecuali Anda mengaktifkannya dengan cara tertentu, memberi tahu WordPress kapan harus mengaktifkan fungsi tersebut. Anda memiliki tiga opsi untuk ini
- Kode fungsi langsung ke file template tema Anda (atau file plugin lain)
- Lampirkan ke kait tindakan
- Pasangkan ke pengait filter
Mari kita lihat masing-masing
Mengkodekan Fungsi ke dalam File Templat Tema Anda
Opsi ini hanya tersedia untuk Anda jika Anda bekerja dengan tema Anda sendiri
Jika Anda ingin melakukannya dengan tema pihak ketiga, Anda harus membuat tema anak, menduplikasi file template tema yang relevan dari tema induk di tema anak Anda, dan menambahkan fungsi Anda ke dalamnya. Jika file template diubah oleh pembaruan tema induk di masa mendatang, file tema anak Anda (yang akan digunakan WordPress) tidak akan mencerminkan hal itu
Saya akan berasumsi bahwa Anda bekerja dengan tema yang Anda kembangkan sendiri, dan Anda memiliki cuplikan kode yang ingin Anda ulangi di beberapa file template. Alih-alih membuat file penyertaan dan memanggilnya di file tersebut, Anda telah memutuskan untuk menggunakan file fungsi Anda dan membuat fungsi – yang untuk potongan kode lebih efisien
Bayangkan fungsi Anda menggemakan tanggal. Ini dia
Memuat intinya f993ba9df32f662dbd0e514d6bf18638
Sekarang, untuk menambahkan kode ini ke tema Anda, Anda akan menambahkan ini ke file template tema Anda, di tempat Anda ingin kode dijalankan
Memuat intinya 4c8667c5e901aa2fd13c3bc4d8197f0a
Sederhana seperti itu. Anda cukup menambahkan kode ini ke file templat yang relevan di tema Anda
Mengaktifkan Fungsi Anda Melalui Action Hook
Alternatifnya adalah menggunakan action hook. Ini adalah kode yang memungkinkan Anda untuk menjalankan kode yang dilampirkan padanya, setiap kali WordPress menemui kesulitan
Anda bisa menggunakan hook yang sudah disediakan oleh WordPress, atau Anda bisa membuatnya sendiri
Dalam kasus fungsi font yang saya tulis di atas, Anda akan menggunakan pengait yang disediakan oleh WordPress. kait wp_enqueue_scripts_. Jadi untuk menjalankan fungsi saya, saya akan menambahkan ini di luar kawat gigi
Memuat intinya b022bf0ff1271c71a88f856800a38858
Jadi fungsi lengkap saya akan terlihat seperti ini
Memuat intinya 87cf84a40ffaabed514d8821bde8095c
Sekarang mari kita lihat contoh di mana saya bisa menulis hook saya sendiri. Alih-alih mengkodekan fungsi saya untuk menampilkan tanggal langsung ke file template tema saya (dalam hal ini loop), saya menggunakan do_action() untuk menambahkan kait tindakan, lalu kaitkan fungsi saya ke sana
Jadi di file template saya, saya menambahkan ini
Memuat intinya 7af44a9a0acf03fdbf6451daedbef936
Lalu saya lampirkan fungsi saya untuk itu, jadi semuanya terbaca
Memuat intisari dad23b9c4d20feeac281df27aad1f6c6
Mengaktifkan Fungsi Anda Melalui Pengait Filter
Jenis pengait lainnya adalah pengait filter. Ini sudah dibungkus di sekitar beberapa kode atau konten saat dibuat, dan fungsi Anda akan menimpanya. Ini berguna jika Anda ingin mengkodekan sesuatu ke file template tema, tetapi beri diri Anda opsi untuk menimpanya nanti. WordPress juga memberi Anda berbagai kait filter untuk digunakan dengan berbagai fungsi
Jika Anda tidak yakin dengan perbedaan antara kedua jenis hook, panduan kami untuk action dan filter hook akan menjelaskannya untuk Anda
Ini sebuah contoh. sepotong teks dalam file template
Catatan. Saya tahu bahwa menulis teks langsung ke file template bukanlah praktik terbaik. Saya juga tahu bahwa melakukannya seperti ini tanpa internalisasi juga merupakan praktik yang buruk. Tapi ini adalah contoh langsung, jadi tolong jangan pukul saya di komentar
Untuk menambahkan pengait filter ke file template Anda, gunakan fungsi apply_filters() dengan nama filter sebagai parameter pertama dan konten default sebagai parameter kedua
Memuat intinya 1b476072beb36934c4db325467e8cf9f
Dan inilah cara Anda mengaitkan fungsi yang melekat padanya
Memuat intinya 07f5368fe1bac796564a33e1c5d3e8a2
Perhatikan bahwa fungsi add_filter() setelah fungsi sangat mirip dengan fungsi add_action(). Parameter pertama adalah nama hook dan yang kedua adalah nama fungsi. Perhatikan juga bahwa fungsi apply_filters() sering didahului oleh echo, karena ini menggemakan beberapa teks (dalam hal ini, judul)
Menggunakan Tag Bersyarat
Saat Anda menggunakan pengait untuk mengaktifkan fungsi, Anda dapat menggabungkannya dengan tag bersyarat untuk menentukan keadaan di mana fungsi akan diaktifkan
Sesuatu yang sering saya lihat salah orang adalah penempatan tag bersyarat. Logika mungkin memberi tahu Anda bahwa Anda hanya ingin fungsi diaktifkan dalam keadaan tertentu, jadi Anda meletakkan tag bersyarat di luar fungsi, bukan?
Salah
Berikut adalah dua cara yang pernah saya lihat, keduanya SALAH. Pertama, bungkus tag di sekitar action hook
Memuat intinya 3a63ec5da0269136b051368c2b4f5d35
Dan kedua, membungkusnya dengan fungsi – juga SALAH
Memuat intinya 3bc372dde6141789a124278b0ed9a92f
Satu-satunya cara yang benar adalah meletakkan tag bersyarat di sekitar kode di dalam fungsi Anda. Jadi fungsi akan menyala di semua kasus, tetapi jika kondisinya tidak terpenuhi, tidak ada yang benar-benar terjadi
Inilah cara yang benar untuk menggunakan tag bersyarat untuk memeriksa satu posting
Memuat intinya 19dca9a6fb7559b2846403ac1f93c31f
Menggunakan tag bersyarat seperti ini membuat segalanya lebih sederhana dan lebih tepat, dan merupakan penggunaan yang kuat untuk fungsi
Mengetahui Cara Menulis dan Mengaktifkan Fungsi Akan Memulai Pengembangan WordPress Anda
Memahami cara kerja fungsi dan mampu menulisnya adalah keterampilan penting jika Anda berencana membuat kode tema dan plugin WordPress Anda sendiri. Dengan panduan ini, Anda akan tahu persis cara menulis fungsi dengan benar dan cara memilih metode untuk mengaktifkannya
Apa saja penggunaan fungsi yang lebih kreatif yang telah Anda coba, atau situasi di mana fungsi Anda tidak berfungsi seperti yang diharapkan?