Penyair menyediakan jenis posting berbasis konfigurasi sederhana, taksonomi, palet warna editor, kategori blok, pola blok, dan registrasi/modifikasi blok.
Tools
menggunakan siput halamannya. Instal melalui Komposer:
$ composer require log1x/poet
Mulailah dengan menerbitkan file konfigurasi Poet menggunakan Acorn:
$ wp acorn vendor:publish --provider= " Log1xPoetPoetServiceProvider "
Semua konfigurasi yang terkait dengan Poet terletak di config/poet.php
. Di sini Anda akan menemukan contoh jenis postingan Buku yang telah dikonfigurasi sebelumnya dengan beberapa pengaturan umum:
' post ' => [
' book ' => [
' enter_title_here ' => ' Enter book title ' ,
' menu_icon ' => ' dashicons-book-alt ' ,
' supports ' => [ ' title ' , ' editor ' , ' author ' , ' revisions ' , ' thumbnail ' ],
' show_in_rest ' => true ,
' has_archive ' => false ,
' labels ' => [
' singular ' => ' Book ' ,
' plural ' => ' Books ' ,
],
],
],
Dalam bentuknya yang paling sederhana, tipe postingan dapat dibuat hanya dengan meneruskan string:
' post ' => [
' book ' ,
],
Untuk mengubah jenis postingan yang ada, perlakukan saja seolah-olah Anda sedang membuat jenis postingan baru dengan hanya meneruskan opsi konfigurasi yang ingin Anda ubah:
' post ' => [
' post ' => [
' labels ' => [
' singular ' => ' Article ' ,
' plural ' => ' Articles ' ,
],
],
],
Dimungkinkan juga untuk membatalkan pendaftaran jenis kiriman yang sudah ada hanya dengan meneruskan false
:
' post ' => [
' book ' => false ,
],
Harap diperhatikan bahwa beberapa jenis kiriman bawaan (misalnya Pos) tidak dapat dibatalkan pendaftarannya secara konvensional.
Untuk opsi konfigurasi tambahan untuk jenis postingan, silakan lihat:
register_post_type()
register_extended_post_type()
Catatan : Jangan menumpuk konfigurasi di kunci
config
seperti yang ditunjukkan dalam dokumentasi CPT yang Diperluas.
Mendaftarkan taksonomi mirip dengan jenis posting. Mencari di config/poet.php
, Anda akan melihat taksonomi Genre yang menyertai jenis postingan Buku default:
' taxonomy ' => [
' genre ' => [
' links ' => [ ' book ' ],
' meta_box ' => ' radio ' ,
],
],
Opsi konfigurasi yang paling relevan adalah links
yang menentukan jenis kiriman yang terhubung dengan taksonomi. Jika tidak ada tautan yang ditentukan, maka defaultnya adalah post
.
Untuk melihat arsip taksonomi Genre, salin templat Blade bernama archive.blade.php
ke file baru bernama taxonomy-genre.blade.php
.
Dalam bentuknya yang paling sederhana, Anda cukup meneruskan sebuah string. Contoh di bawah ini akan membuat taksonomi Topik untuk jenis postingan Post:
' taxonomy ' => [
' topic ' ,
],
Seperti halnya jenis postingan, untuk mengubah taksonomi yang ada, cukup berikan opsi konfigurasi yang ingin Anda ubah saja:
' taxonomy ' => [
' category ' => [
' labels ' => [
' singular ' => ' Section ' ,
' plural ' => ' Sections ' ,
],
],
],
Seperti halnya jenis postingan, Anda dapat dengan mudah membatalkan pendaftaran taksonomi yang ada hanya dengan meneruskan false
:
' taxonomy ' => [
' post_tag ' => false ,
' category ' => false ,
],
Untuk opsi konfigurasi tambahan taksonomi, silakan lihat:
register_taxonomy()
register_extended_taxonomy()
Catatan : Jangan menumpuk konfigurasi di kunci
config
seperti yang ditunjukkan dalam dokumentasi CPT yang Diperluas.
Poet menyediakan cara mudah untuk mendaftarkan blok Gutenberg ke editor menggunakan tampilan Blade yang menyertainya untuk merender blok di frontend.
Blok didaftarkan menggunakan namespace/label
yang ditentukan saat mendaftarkan blok ke editor.
Jika tidak ada namespace yang disediakan, domain teks tema saat ini akan digunakan.
Mendaftarkan blok dalam banyak kasus semudah:
' block ' => [
' sage/accordion ' ,
],
Mengingat blok sage/accordion
, tampilan Blade yang menyertainya akan ditempatkan di views/blocks/accordion.blade.php
.
Tampilan blok memiliki variabel berikut yang tersedia:
$data
– Objek yang berisi data blok.$content
– Sebuah string yang berisi konten InnerBlocks. Mengembalikan null
saat kosong. Secara default, ketika memeriksa apakah $content
kosong, itu dilewatkan melalui metode untuk menghapus semua tag dan spasi sebelum mengevaluasi. Ini menjamin bahwa editor mengasapi seperti nbsp;
atau tag <p></p>
yang kosong tidak menyebabkan $content
selalu mengembalikan true
ketika digunakan dalam kondisi.
Jika Anda tidak ingin perilaku ini terjadi pada blok tertentu, cukup daftarkan sebagai array:
' block ' => [
' sage/accordion ' => [ ' strip ' => false ],
],
Jika Anda perlu mendaftarkan atribut blok menggunakan PHP pada blok tertentu, cukup teruskan atribut dalam array saat mendaftar:
' block ' => [
' sage/accordion ' => [
' attributes ' => [
' title ' => [
' default ' => ' Lorem ipsum ' ,
' type ' => ' string ' ,
],
],
],
],
Pertimbangkan blok akordeon yang terdaftar dengan atribut title
dan className
. Tampilan Anda mungkin terlihat seperti ini:
<div class="wp-block-accordion {{ $ data -> className ?? '' }}">
@ isset ( $ data -> title )
<h2>{!! $ data -> title !!}</h2>
@endisset
<div>
{!! $ content ?? ' Please feed me InnerBlocks. ' !!}
</div>
</div>
Poet menyediakan cara mudah untuk mendaftar, memodifikasi, dan membatalkan pendaftaran kategori blok Gutenberg. Melihat konfigurasinya, Anda akan melihat contoh komentar untuk kategori Ajakan Bertindak:
' block_category ' => [
' cta ' => [
' title ' => ' Call to Action ' ,
' icon ' => ' star-filled ' ,
],
],
Ini akan menghasilkan kategori blok dengan slug cta
. Setelah kategori blok Anda terdaftar, Anda harus mendaftarkan blok ke slugnya sebelum kategori tersebut muncul di editor.
Dalam bentuknya yang paling sederhana, Anda cukup meneruskan string:
' block_category ' => [
' my-cool-blocks ' ,
],
yang akan menghasilkan kategori my-cool-blocks
yang secara otomatis mengubah slug menjadi title case.
Anda juga dapat menentukan judul dengan memberikan nilai ke slug Anda:
' block_category ' => [
' my-cool-blocks ' => ' Best Blocks, World. ' ,
],
Seperti jenis postingan dan taksonomi, memodifikasi kategori blok yang ada sama dengan mendaftarkan kategori:
' block_category ' => [
' layouts ' => ' Sections ' ,
' common ' => [ ' icon ' => ' star-filled ' ],
],
Anda dapat membatalkan pendaftaran kategori blok yang ada hanya dengan meneruskan false
:
' block_category ' => [
' common ' => false ,
],
Penyair juga dapat mendaftarkan Pola Blok untuk Anda, dengan tampilan Blade opsional untuk kontennya.
Pola didaftarkan menggunakan namespace/label
yang ditentukan saat mendaftarkan pola ke editor.
Jika tidak ada namespace yang disediakan, domain teks tema saat ini akan digunakan.
Mendaftarkan blok dalam banyak kasus semudah:
' block_pattern ' => [
' sage/hero ' => [
' title ' => ' Page Hero ' ,
' description ' => ' Draw attention to the main focus of the page, and highlight key CTAs ' ,
' categories ' => [ ' all ' ],
],
],
Anda juga dapat mendaftarkan konten sebenarnya untuk pola tersebut di sini, menggunakan kunci content
. Atau biarkan kosong untuk menggunakan tampilan blade yang sesuai.
' block_pattern ' => [
' sage/fake-paragraph ' => [
' title ' => ' Fake Paragraph ' ,
' description ' => ' Filler content used instead of actual content for testing purposes ' ,
' categories ' => [ ' all ' ],
' content ' => ' <!-- wp:paragraph --><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione nulla culpa repudiandae nisi nostrum et, labore earum repellendus porro, mollitia voluptas quam? Modi sint tempore deleniti nesciunt ab, perferendis et.</p><!-- /wp:paragraph --> ' ,
],
],
Mengingat blok sage/fake-paragraph
, jika tidak ada kunci content
yang ditentukan, maka tampilan Blade yang menyertainya akan ditempatkan di views/block-patterns/fake-paragraph.blade.php
.
Tampilan Pola Blok ini mungkin terlihat seperti ini:
<!-- wp:paragraph -->
<p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione nulla culpa repudiandae nisi nostrum et, labore earum repellendus porro, mollitia voluptas quam? Modi sint tempore deleniti nesciunt ab, perferendis et.</p>
<!-- /wp:paragraph -->
Kategori Pola Blok dapat ditambahkan dengan kode berikut di konfigurasi penyair:
' block_pattern_category ' => [
' all ' => [
' label ' => ' All Patterns ' ,
],
],
Anda dapat menentukan semua properti kategori seperti label
, sesuai buku pegangan editor blok.
Catatan: Saat ini, jika Kategori Pola Blok tidak tersedia sama sekali, tab Pola Blok di editor akan mogok saat diklik.
Penyair mencoba menyederhanakan pendaftaran palet warna dengan editor sedikit dengan tidak memerlukan markup array yang ketat dan rapuh.
Meskipun Anda tentu saja dapat meneruskan array tersebut secara langsung, Anda juga dapat mendaftarkan warna hanya dengan meneruskan slug bersama dengan warna dan membiarkan Poet menangani sisanya.
' palette ' => [
' red ' => ' #ff0000 ' ,
' blue ' => ' #0000ff ' ,
],
Sebagai alternatif untuk meneruskan array, Poet juga menerima file JSON
yang berisi palet warna Anda. Penyair umumnya akan mencari file ini di dist/
secara default.
' palette ' => ' colors.json ' ,
Jika Anda menggunakan Plugin Palette Webpack, Anda juga dapat meneruskan true
untuk secara otomatis menggunakan palette.json
yang dihasilkan selama pembuatan.
' palette ' => true ,
Jika Anda menemukan bug di Poet, silakan buka terbitannya.
Berkontribusi baik melalui PR, melaporkan suatu masalah, atau menyarankan sebuah ide sangat dianjurkan dan dihargai.
Penyair disediakan di bawah Lisensi MIT.