Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. WordPress
Code

Membuat Tema Turunan untuk Framework Tema WordPress Kamu

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called How Theme Frameworks Actually Work.
Adding Filter Hooks to Your WordPress Theme Framework
Developing Plugins for Your WordPress Theme Framework

Indonesian (Bahasa Indonesia) translation by Andy Nur (you can also view the original English article)

Framework tema yang kamu buat akan digunakan sebagai tema induk di situs yang lamu kembangkan. Ini berarti bahwa dalam setiap kasusmu perlu membuat tema turunan untuk membuat situs unik dengan desainnya sendiri dan dengan fungsi ekstra atau yang berbeda dibandingkan dengan framework.

Cara yang paling jelas untuk melakukan ini adalah dengan menyelami dan mulai membuat file template dalam tema turunanmu untuk menggantikannya dalam framework, tetapi berkat tindakan dan filter hook yang telah kamu tambahkan ke framework-mu, ini mungkin tidak selalu menjadi pendekatan yang terbaik.

Pada artikel ini, saya akan menguraikan beberapa teknik yang dapat kamu gunakan dalam tema turunanmu untuk memanfaatkan framework-mu sebaik mungkin dan mengimprovisasi alur kerjamu.

Topik yang akan saya bahas adalah sebagai berikut:

  • Membuat permulaan tema turunan
  • Mengubah kode melalui filter hook framework
  • Menambahkan kode melalui action hook framework
  • Membuat file template di tema turunanmu
  • Ketika menggunakan plugin sebagai gantinya

Membuat Permulaan Tema Turunan

Tujuan utama dari mengembangkan kerangka tema Anda adalah untuk mengadopsi prinsip DRY (tidak mengulangi sendiri), dan itu berlaku untuk tema anak Anda, juga.

Itu bisa membuat Anda lebih efisien jika Anda membuat satu atau lebih 'pemula' anak tema untuk menggunakan dengan kerangka Anda, yang berisi kode inti yang Anda butuhkan untuk memulai proyek baru.

Ketika memutuskan bagaimana untuk pergi tentang melakukan hal ini, pertimbangkan cara Anda bekerja dan situs Anda membangun:

  • Anda membuat banyak situs untuk klien di sektor yang sama dengan kebutuhan yang sama?
  • Apakah Anda ingin menawarkan biaya rendah template berbasis situs untuk klien yang lebih kecil?
  • Apakah ada file template tertentu Anda cenderung untuk membuat untuk sebagian besar proyek-proyek baru Anda?
  • Ada fungsi Anda perlu menyertakan pada beberapa situs, tetapi tidak yang lain? (Sebagai contoh, saya menggunakan tema anak dua starter, satu dengan komentar fungsi dan satu tanpa.)
  • Ada styling Anda cenderung menggunakan sebagian besar proyek, atau Anda bisa menggunakan gaya berorientasi objek atau CSS preprocessor untuk sebagian besar proyek?
  • Ada perpustakaan atau sumber-sumber yang Anda gunakan untuk sebagian besar proyek baru, atau untuk proporsi yang signifikan dari mereka?
  • Apakah Anda memiliki dua atau tiga kategori utama Anda dapat menempatkan proyek-proyek di bawah, dengan masing-masing kategori yang melibatkan pekerjaan pembangunan serupa?

Jika Anda telah menjawab ya untuk semua pertanyaan ini, kemudian mengembangkan satu atau lebih starter tema anak mungkin menghemat waktu. Anda dapat membuat satu set tema anak dengan kode dasar yang Anda mengulangi di seluruh semua proyek yang menggunakan mereka, dan kemudian Anda tidak perlu menulis ulang kode tersebut (atau membuat file-file) untuk setiap proyek yang baru.

Catatan peringatan: jika Anda menambahkan beberapa kode untuk setiap satu proyek baru, Anda mungkin ingin menambahkannya ke kerangka bukan untuk anak tema, mungkin dengan menggunakan kait sehingga Anda dapat mengganti jika kebutuhan muncul di masa depan.

Bahkan jika Anda menjawab tidak untuk pertanyaan di atas, it's worth menciptakan tema sangat dasar pemula dengan stylesheet kosong dan fungsi file, dan menambahkan petunjuk WordPress perlu mengakses kerangka Anda parent tema dalam stylesheet:

Yang diperlukan di atas nama tema dan Template, sisanya opsional. Pastikan bahwa untuk Template, Anda menggunakan direktori tema kerangka, bukan nama. Hal ini berguna untuk juga menyelesaikan bidang lain sebagai relevan untuk tema Anda.

Deklarasi @import juga penting jika Anda ingin memuat stylesheet kerangka. Selama Anda menempatkan ini di atas CSS lain, ini akan memuat stylesheet parent tema sebelum setiap gaya dalam tema anak stylesheet, berarti Anda dapat menambah dan menimpa gaya dalam kerangka di tema anak yang diperlukan.

Anda mungkin juga ingin membuat starter functions.php file dengan fungsi-fungsi yang paling sering Anda gunakan di tema anak Anda. Anda dapat memilih untuk menghapus semua ini dan menambahkan kepada mereka untuk proyek-proyek tertentu.

Mengubah kode melalui Filter kait

Serta menambah styling tema anak yang Anda, Anda kemungkinan besar akan ingin membuat perubahan kode output dengan kerangka. Cara paling ringan untuk melakukan hal ini adalah melalui filter kait, jadi it's worth menjelajahi mereka yang pertama untuk mengidentifikasi apakah Anda dapat menggunakan salah satu dari mereka.

Membuat fungsi yang Anda kemudian melekat pada pengait saringan jauh lebih efisien daripada menciptakan file template baru untuk kode baru; Namun, jika Anda menemukan diri Anda melakukan hal ini berkali-kali dengan pengait saringan sama, Anda mungkin ingin mempertimbangkan mengubah bahwa pengait saringan untuk tindakan kait dan menulis sebuah fungsi baru untuk setiap proyek yang Anda Aktifkan melalui hook tindakan itu.

Untuk menjadi lebih efisien, Anda mungkin ingin untuk membuat satu set fungsi relevan yang Anda tempatkan dalam file fungsi mulai berbeda tema atau bahkan membuat sebuah plugin dengan fungsi Anda yang Anda mengaktifkan bila diperlukan. Saya akan membahas plugin secara lebih rinci nanti dalam seri ini.

Aku menutupi proses pembuatan filter kait di bagian awal dari seri ini, tapi untuk rekap, Anda melampirkan fungsi filter menggunakan fungsi add_filter(). Jadi misalnya, untuk mengubah link dan nama yang digunakan dalam colophon situs saya, saya membuat dua fungsi sebagai berikut:

Ini menghubungkan ke dua filter dalam kerangka tema saya: wptp_colophon_name dan wptp_colophon_link, dan perubahan apa output oleh masing-masing dari mereka.

Menambahkan kode melalui tindakan kait

Kerangka tema juga akan memiliki tindakan kait yang dapat Anda gunakan untuk memasukkan konten di berbagai tempat di situs Anda.

Jika Anda telah bekerja pada kode file untuk kerangka dibundel dengan seri tutorial ini, Anda akan memiliki tujuh tindakan kait untuk bekerja dengan:

  • sebelum header
  • dalam header
  • sebelum konten
  • setelah konten
  • di sidebar
  • di footer
  • setelah footer.

Jadi misalnya, mengatakan Anda ingin menambahkan panggilan untuk tindakan tombol untuk sidebar. Anda dapat membuat file sidebar.php baru, tapi itu akan menjadi lebih efisien untuk hanya menggunakan wptp_sidebar hook sebagai gantinya.

Untuk melakukan ini, membuat functions.php file pada tema anak yang Anda dan menambahkan berikut ini:

Fungsi wptp_cta() menciptakan markup untuk panggilan untuk bertindak dan fungsi add_action() kebakaran itu melalui hook wptp_sidebar dengan prioritas 1 sehingga muncul sebelum konten apapun lainnya diaktifkan melalui hook itu.

Ada banyak konten lainnya Anda bisa menambahkan menggunakan kait tindakan Anda, seperti berbagi tombol di atas atau di bawah konten, konten tambahan dalam footer, kotak pencarian di bagian header dan banyak lagi.

Anda mungkin hanya ingin menambahkan beberapa konten pada halaman tertentu jenis, seperti satu blog posting, di mana kasus merupakan tempat yang paling jelas untuk memulai akan membuat template single.php baru. Tapi Anda masih dapat menggunakan kait tindakan Anda dengan penambahan tag bersyarat:

Ini akan membuat kueri baru (menggunakan WP_Query) yang output daftar paling recent blog posts, untuk mendorong pengunjung untuk membaca sesuatu setelah mereka selesai posting blog. Is_singular ('posting') bersyarat tag memastikan bahwa ini adalah output hanya untuk posting tunggal, dan dengan melampirkan ke wptp_after_content hook Anda akan menampilkannya setelah isi posting utama.

Menciptakan file Template baru

Pada kesempatan Anda tidak akan mampu melakukan apa yang Anda inginkan menggunakan filter atau tindakan kait dalam kerangka, dalam kasus yang Anda akan perlu untuk membuat file template baru dalam anak Anda tema.

Ini mungkin adalah file template yang sama seperti yang disimpan dalam kerangka, dalam hal mana file di tema anak akan menimpa mereka. Atau mereka mungkin baru file template, misalnya untuk kategori baru, taksonomi atau posting jenis.

Jika Anda membuat file template di tema anak Anda, itu membuat hal lebih mudah jika Anda menggunakan file template dalam kerangka sebagai titik awal. Langkah-langkah yang saya ikuti adalah:

  1. Mengidentifikasi file template yang Anda butuhkan untuk membuat berhubungan dengan hirarki template WordPress
  2. Buat sebuah file kosong dengan nama yang sesuai di tema anak yang Anda
  3. Mengidentifikasi file dalam kerangka yang terdekat ke file baru (lagi berhubungan dengan hirarki template)
  4. Salin isi yang ke file baru
  5. Membuat perubahan ke file baru seperti yang diperlukan.

Melakukan hal ini menghemat kerja duplikasi kode apapun yang akan umum antara file baru dan file yang ada dalam kerangka, seperti panggilan untuk menyertakan file.

Ketika menggunakan sebuah Plugin sebaliknya

Pilihan lain yang Anda miliki ketika membuat situs berdasarkan kerangka kerja Anda adalah dengan menggunakan plugin dalam hubungannya dengan tema anak Anda. Plugin tidak akan menggantikan tema anak yang benar-benar, tetapi dapat bermanfaat dalam kondisi berikut:

  • Fungsi yang Anda ingin menambahkan tidak tergantung tema (yaitu Anda ingin menyimpannya jika situs pernah mengubah tema di masa depan). Ini mungkin termasuk pendaftaran jenis posting kustom atau taksonomi, misalnya.
  • Anda ingin menggunakan fungsi ini di sejumlah situs yang Anda buat, tapi tidak cukup untuk itu untuk pergi ke tema anak starter atau kerangka kerja itu sendiri.

Saya akan membahas mengembangkan plugin untuk kerangka dalam bagian selanjutnya dari seri ini.

Ringkasan

Kerangka tema Anda adalah titik awal dari perpustakaan kode dan file Anda akan membuat untuk mendukung situs Anda mengembangkan. Setiap situs yang Anda buat akan perlu menjalankan pada tema anak, yang akan memiliki tema kerangka Anda dengan induknya.

Seperti yang kita lihat, tema anak Anda akan menambahkan mereka sendiri styling dan fungsi, dan mereka dapat melakukan ini dengan mengaitkan ke dalam tindakan dan filter kait dalam kerangka, atau melalui penciptaan baru file template. Itu selalu ide yang baik untuk mengadopsi solusi yang memerlukan kode setidaknya, karena yang membuat situs Anda lebih cepat dan hidup Anda lebih mudah!

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.