Saya terbiasa membuat shortcode yang bisa ditutup sendiri seperti:
// shortcode
function wpse_shortcode_example( $wpse_atts ) {
// Attributes
$wpse_atts = shortcode_atts(
array(
'foo' => 'bar',
'width' => '100%',
'height' => 'auto',
),
$wpse_atts,
'wpse'
);
// Return
return '<embed
src="' . $wpse_atts['src'] . '"
width="' . $wpse_atts['width'] . '"
height="' . $wpse_atts['height'] . '";
}
add_shortcode( 'wpse', 'wpse_shortcode_example' );
tapi saya ingin mulai menambahkan ini ke TinyMCE. Saya telah melakukan beberapa pencarian tetapi semua hasil pencarian diberi tanggal atau menggunakan pendekatan yang tidak lagi direkomendasikan:
- Bagaimana cara menambahkan tombol kode pendek ke editor TinyMCE? : titik awal yang sangat baik tetapi pertanyaan itu dibuat pada tahun 2012.
- WordPress Shortcodes: Panduan Lengkap : artikel bagus tapi dari 2012 dan bisa digunakan
query_posts()
tetapi bisa di-tweak - Panduan untuk Membuat Tombol WordPress Editor Anda Sendiri : adalah artikel yang bagus tetapi masih dari beberapa waktu yang lalu, 2013, tetapi tidak mencakup dasar-dasar atau dasar untuk menggunakan TinyMCE.
Saya tahu Pengembang masih dalam tahap awal tetapi Plugin Handbook hanya berbicara singkat tentang TinyMCE Enhanced Shortcodes dan Shortcode API dan add_shortcode()
tidak menyebutkan TinyMCE.
Jadi ini mengarahkan saya ke pertanyaan saya. Apa prosedur dasar untuk mengubah shortcode yang ditutup sendiri menjadi tombol yang dapat diklik di editor TinyMCE?
plugin-development
shortcode
tinymce
DᴀʀᴛʜVᴀᴅᴇʀ
sumber
sumber
Jawaban:
Kami mulai dengan menambahkan Tombol TinyMCE khusus:
Kemudian kami mendeklarasikan dan mendaftarkan tombol baru:
Akhirnya, kami memutuskan tombol mana (lebih lanjut tentang tombol dapat ditemukan di Pemformatan Konten ) yang ingin kami tampilkan. Jelas, jika Anda memiliki UX dalam pikiran, Anda hanya akan menampilkan beberapa dari mereka, misalnya:
Seperti yang Anda lihat di
add_tinymce_plugin_custom_em
fungsi, kami mendeklarasikan file javascript di dalamnyaget_template_directory_uri() .'/plug/custom-em/custom-em.js'
Jadi buat
custom-em.js
file, dan kemudian Anda memiliki dua cara untuk melakukannya.Anda dapat menggunakan format kode pendek berikut
[shortcode foo="" bar=""]
atau[shortcode][/shortcode]
.Mari kita mulai dengan
[shortcode foo="" bar=""]
format:Seperti yang Anda lihat, kami menggunakan gambar sebagai ikon tombol. Anda dapat mengubahnya menjadi teks seperti yang dijelaskan dalam contoh di bawah ini.
Berikut ini adalah apa yang kami gunakan pada platform kami sendiri, yang membungkus seleksi menjadi
<em class="whatever">hello world</em>
:Silakan kirim hasil dan lakukan pengeditan. TinyMCE adalah wabah dan membutuhkan sakit kepala tetapi bisa diselesaikan secara kolaboratif.
sumber