Bayangkan dengan cara ini! Tema menentukan STRUKTUR UTAMA untuk seluruh situs! Tema adalah sesuatu seperti struktur untuk Posting, Halaman atau jenis posting khusus, halaman khusus, ..! Sejauh ini Anda tahu tema benar-benar kode HTML! Pada akhir excute Wordpress, ia mengembalikan kode HTML ke browser, dan tampilan browser untuk Anda! HTML itu dibuat berdasarkan file tema (index.php, header.php, footer.php, single.php)
Plugin menggunakan hook & filter untuk memodifikasi tema SEBELUM kita output ke browser!
Contoh: Jika Anda ingin menambahkan tombol sosial ke akhir posting! Anda dapat mengubah single.php dan menambahkan kode untuk meletakkan beberapa tombol sosial tepat di bawah the_content ()!
Tetapi Anda dapat membuat plugin untuk menggunakan filter & kait Wordpress untuk mengubah HTML posting, untuk menambahkan Anda tombol sosial!
Anda dapat menggunakan hook untuk menambahkan javascript, melakukan beberapa kode logika, lalu merender HTML berdasarkan hasil itu, lalu menambahkan atau mengganti dengan sesuatu melalui hook & filter Wordpress!
Tetapi apa yang terjadi jika Anda memasukkan kode plugin ke file tema? Asumsikan Anda menaruh beberapa fungsi untuk merender konten ke dalam functions.php tema Kemudian panggil fungsi-fungsi itu secara manual di suatu tempat di tema Anda! Atau bahkan lebih baik, Anda dapat menggunakan hook & filter untuk mengubah konten secara otomatis tanpa secara manual memanggil tema!
Jadi selama wordpress dapat memasukkan kode Anda di suatu tempat, dan jalankan! Selama kode Anda menjalankannya, ia dapat melakukan apa saja untuk Anda melalui penggunaan hook & filter! Beberapa plugin sederhana dapat dengan mudah dimasukkan ke dalam file tema! Tetapi beberapa plugin besar terlalu besar untuk dimasukkan ke file tema!
Lalu nanti, Anda memutuskan untuk menghapus fungsi itu, Anda pergi ke file tema dan menghapus kode? Kedengarannya bodoh, bukan? Jadi kami memiliki plugin, ini adalah cara untuk secara otomatis memodifikasi proses Wordpress yang sedang berjalan untuk mengubah konten, untuk mengubah basis data, ...
Selain itu, beberapa kait dijalankan sebelum panggilan tema sehingga Anda tidak dapat memasukkan tema ke file tema!
Kesimpulan: Selama kode Anda dimasukkan oleh wordpress, wordpress menjalankannya lalu mengembalikan hasilnya! Anda dapat memasukkan kode itu ke file tema, wordpress akan memanggilnya untuk Anda! Tetapi jika Anda mengemasnya sebagai plugin, Anda dapat dengan mudah menginstal / menonaktifkan / menghapus tanpa mengubah file tema apa pun! Selain itu, Anda juga menjaga tema Anda sederhana / bersih! Jadi ketika Anda perlu mengubah sesuatu, letakkan sebagai plugin jika memungkinkan! Jangan memasukkannya ke file tema!