Saya akan mulai dengan pertanyaan ini: Apakah fungsi terkait dengan presentasi konten, atau dengan generasi / manajemen konten, atau situs, atau identitas pengguna?
Jika fungsionalitas tidak terkait khusus dengan presentasi konten , maka itu tepat di dalam Wilayah Plugin. Daftar ini panjang:
- Memodifikasi filter WP inti (
wp_head
konten, seperti tautan kanonik, generator, dan meta HTML lainnya, dll
- Situs Favicon
- Kode singkat pos-konten
- Posting tautan berbagi
- Google Footer (dan sejenisnya) skrip footer
- Alat / kontrol SEO
- dll.
Jika fungsi terkait dengan presentasi konten , maka itu adalah kandidat untuk dimasukkan dalam Tema. Pada titik ini, saya akan kembali ke kriteria Theme-switch @ Raf912 : apakah Anda akan kehilangan fungsionalitas ketika Anda mengganti Tema? Jika jawaban untuk pertanyaan itu adalah tidak , maka fungsionalitasnya menjadi milik Tema. Beberapa contoh:
- Menghapus / mengganti CSS Galeri inti WP
- Memfilter panjang kutipan kutipan, teks "baca lebih lanjut", dll.
- Apa pun yang diterapkan melalui
add_theme_support()
(saya kira yang ini harus jelas)
- CSS khusus
Biasanya, dua pertanyaan ini akan memberikan garis diferensiasi yang cukup jelas; Namun, ada beberapa pengecualian.
Jenis Posting Kustom
Jenis Posting Kustom, misalnya, adalah sedikit hibrida yang unik dari pembuatan konten dan presentasi, mengingat cara Hierarki Templat bekerja untuk halaman indeks arsip tipe posting tunggal dan halaman posting tunggal . Aspek pembuatan konten CPT biasanya menempatkannya tepat di Wilayah Plugin; namun, Plugin tidak dapat menentukan halaman templat yang secara inheren sesuai dengan desain / tata letak / gaya untuk setiap Tema tertentu (terutama jika CPT menampilkan selain Judul / Konten / Meta biasa, atau memiliki taksonomi khusus yang terkait dengannya).
Jangka panjang, solusi untuk perbedaan ini, IMHO, adalah memiliki konvensi / konsensus standar untuk definisi CPT untuk jenis konten tertentu (daftar real estat, acara kalender, produk e-commerce, entri perpustakaan buku / media, dll. .). Dengan cara itu, konten yang dibuat pengguna akan tetap portabel antara Tema yang menerapkan definisi standar / konvensi dari CPT yang diberikan, sementara pengembang Tema mempertahankan fleksibilitas untuk menentukan desain / tata letak / gaya CPT dalam file template Tema.
Tautan Media Sosial
Demikian pula, saya biasanya mengatakan bahwa tautan profil media sosial, yang sudah ada di mana-mana dalam Tema saat ini, adalah Wilayah Plugin, karena tidak ada hubungannya dengan penyajian konten. Solusi terbaik adalah agar profil ini didefinisikan di suatu tempat di inti; namun, saat ini tidak ada sarana standar / konsensus untuk mendefinisikan tautan ini. Apakah mereka didefinisikan terbaik di tingkat pengaturan situs, atau berdasarkan per pengguna? Jika per-pengguna, meta pengguna mana yang terpapar dalam templat? dll.
Jadi sekali lagi, dalam jangka panjang, solusi untuk perbedaan ini adalah baik bagi inti untuk menentukan di mana tautan-tautan ini ditentukan, atau jika tidak bagi komunitas pengembang Tema untuk mengembangkan konsensusnya sendiri. Sementara itu, benar-benar tidak ada apa-apa selain membuat mereka tetap didefinisikan dalam setiap Tema.