API Font Web yang Diusulkan Tidak Datang ke WordPress 5.9, Mungkin Mendarat di Gutenberg Terlebih Dahulu

Diterbitkan: 2021-11-12

Setelah apa yang tampak seperti pengusiran untuk WordPress 5.9, API font web yang diusulkan ditunda. Fitur ini akan menstandardisasi cara pengembang tema dan plugin memuat font dan meletakkan dasar untuk fitur yang dihadapi pengguna di masa mendatang.

Jono Alderson membuka tiket untuk fitur tersebut pada Februari 2019. Dalam beberapa bulan terakhir, proposal tersebut semakin cepat. Permintaan tarik memiliki lebih dari 200 pesan dalam tiket, 93 komit, dan persetujuan kode dari dua pembuat inti. API tampaknya sudah siap. Namun, terhenti dalam beberapa hari terakhir.

Andrew Ozz, pengembang WordPress utama, pada dasarnya menghentikan kemungkinan pendaratan API baru di 5.9. Dia menyatakan bahwa dia tidak berpikir proposal sudah siap untuk WordPress.

“Murni sebagai kode, itu terlihat bagus,” tulisnya di tiket. “Ini didokumentasikan dengan sangat baik (terima kasih [Tonya Mark]!). Namun saya masih tidak dapat melihat bagaimana ini akan membuat WordPress lebih baik dalam jangka pendek dan jangka panjang. Kami mengobrol dengan [Andrei Draganescu] dan dia menyarankan bahwa idealnya ini adalah plugin fitur, dan saya setuju. Maka akan mungkin untuk benar-benar mengujinya dalam produksi, memverifikasi (atau menolak) asumsi yang dibuat saat membuatnya, dan menjadikannya sebagai tambahan yang benar-benar layak untuk WordPress. Sayangnya sekarang sudah terlambat untuk 5,9.”

Salah satu masalah dengan pengujian fitur plugin untuk API adalah bahwa mereka tidak sering diadopsi, seperti yang disebutkan di tiket. Pengembang tidak akan bergantung pada mereka dalam produksi dalam banyak kasus. Dan, rata-rata pengguna akhir tidak akan menginstal sesuatu yang khusus untuk pengembang.

“Mengusulkan hal ini dilakukan sebagai plugin fitur adalah cara yang elegan untuk menunda sesuatu selama beberapa tahun,” kata Ari Stathopoulos, salah satu pengembang di balik API. Namun, ia menunjukkan REST API menjadi satu pengecualian yang berkinerja cukup baik untuk di-porting ke WordPress.

Proposal inti WordPress kemungkinan akan dimasukkan ke dalam plugin Gutenberg untuk eksplorasi lebih lanjut. Ini akan menjadi semacam kompromi antara meluncurkan sebagai plugin fitur terpisah dan masuk ke WordPress 5.9.

API font web tidak terkait langsung dengan sistem blok. Baik tema tradisional dan blok, serta plugin, dapat menggunakan fitur ini hari ini. Namun, beberapa proposal Gutenberg mengandalkan keberadaan API, seperti mengizinkan pembuat tema untuk menentukan font web melalui file theme.json mereka.

Ozz membuat daftar beberapa pertanyaan seputar proposal, dan beberapa pengembang menjawab masing-masing. Namun, argumen utamanya bergantung pada kepraktisan mengapa segala sesuatu di API diperlukan, menyatakan bahwa jawaban sebelumnya adalah "pada prinsipnya" dan tampaknya didasarkan pada asumsi.

Pada tingkat paling dasar, API font web akan memungkinkan pengembang untuk mendaftar dan memuat font yang dihosting secara lokal atau font dari Google Font. Pengembang juga dapat menambahkan penyedia khusus di luar dua default. Iterasi pertama dari API yang diusulkan lebih tentang meletakkan fondasi untuk dibangun di rilis WordPress mendatang.

Daya tarik fitur ini tidak hanya memuat font. Secara teknis, penulis tema dapat melakukannya dengan satu baris kode jika mereka mau. Empat baris kode jika mereka ingin mengikuti standar inti WordPress saat ini, setidaknya di ujung depan.

Stathopoulos menyebutkan daftar peningkatan yang akan dibawa oleh API ke WordPress dan ekstensinya.

  • Tema dapat menentukan font melalui file theme.json mereka.
  • Pratinjau font di pemilih font-family di editor.
  • Menampilkan bobot dan gaya font yang valid untuk keluarga font.
  • Peningkatan kinerja front-end.
  • Lokalisasi sisi server untuk kinerja dan privasi yang lebih baik.

Ini adalah contoh kecil dari argumen yang mendukung menyertakan API di inti WordPress.

“Ada banyak perbaikan di Gutenberg yang dalam keadaan limbo, menunggu API font web,” tulis Stathopolous di tiket. “Tidak memiliki API font web adalah pemblokiran pada saat ini. Itu bukan item yang bagus untuk dimiliki di daftar keinginan kami, itu adalah persyaratan untuk bergerak maju. ”

Saat ini, tidak ada standar yang secara khusus terkait dengan font web di WordPress. Penulis tema membonceng fungsi yang ada untuk mengantrekan stylesheet pihak ketiga atau yang khusus dengan aturan @font-face . Itu secara umum telah menjadi praktik yang diterima di komunitas penulis tema selama bertahun-tahun.

Namun, banyak yang menerimanya dengan enggan. Beberapa telah membuat skrip khusus untuk memudahkan poin rasa sakit. Banyak orang lain hanya menyalin metode apa pun yang digunakan oleh tema WordPress default terbaru.

Salah satu tujuannya adalah agar pengembang tidak perlu khawatir melakukan semua pekerjaan ekstra yang terkait dengan memuat font web. Seharusnya tidak perlu ada tema untuk mengetahui cara memuatnya di editor dan ujung depan, menangani pramuat, atau memperhitungkan pelokalan. Seiring bertambahnya usia tema dan API pihak ketiga seperti Google Font berubah, tema tidak perlu diperbarui jika WordPress menanganinya di bawah tenda.

Masalah bagaimana cara terbaik untuk memuat font web berlipat ganda ketika Anda memasukkan plugin ke dalam campuran. Umumnya, tema melakukan semua hal yang berat dalam hal desain. Namun, beberapa plugin melompat ke sisi dunia WordPress itu untuk menambahkan opsi gaya ekstra. Tidak ada cara untuk menyelesaikan konflik saat memuat banyak salinan dari font yang sama. Juga tidak ada cara pasti untuk menonaktifkan font tema dan menggantinya melalui plugin.

Salah satu penulis plugin tersebut mengirim email kepada saya untuk memberi tahu saya berita yang sudah saya ketahui. API font web tampaknya tidak lagi mendarat di WordPress 5.9. Pengembang bersiap untuk meluncurkan situs web dan layanan baru di atas fitur baru. Mereka bahkan memiliki maskot. Untuk saat ini, mungkin hanya perlu menunggu.

Batas waktu pembekuan fitur adalah dua hari yang lalu. Oleh karena itu, kecil kemungkinan API font web ditambahkan kembali ke pencapaian WordPress 5.9. Mungkin pengembang akan melihatnya ketika 6.0 mendarat. Mungkin mendorongnya ke plugin Gutenberg menghembuskan lebih banyak kehidupan ke dalamnya, memungkinkan kontributor untuk maju dengan fitur-fitur baru yang mengandalkannya.