Shortcake (Shortcode UI)
Kontributor: FusionEngineering, Mattheu, Danielbachhuber, Zebulonj, Goldenapples, Jitendraharpalani, Sanchothefat, Bfintal, Davisshaver, Garyj, Mte90, Fredserva, Khromov, Bronsonqick, Dashavdom, MeHigh, Khromov, Bronsonqick, Dashavdom, MeHigh, Khromov, Bronsonqick, Dashavdom, MeHigh, Khromov, Bronsonqick, Dashavom, MeHigh, Khromov, Bronsonqick, Dashavom, MeHigh, Khromov, Bronsonqick, Dashvom, MeHigh, Khromov, Bronsonqick, Dashavom, MeHigh
Tag: Kode pintas
Membutuhkan setidaknya: 4.5
Diuji hingga: 5.0.3
Tag stabil: 0.7.4
Lisensi: gplv2 atau lebih baru
Lisensi URI: http://www.gnu.org/licenses/gpl-2.0.html
Shortcake membuat menggunakan shortcodes wordpress sepotong kue.
Keterangan
Digunakan bersama add_shortcode
, shortcake memasok antarmuka yang ramah pengguna untuk menambahkan kode pendek ke pos, dan melihat dan mengeditnya dari dalam editor konten.
Setelah Anda menginstal plugin, Anda harus mendaftarkan UI untuk kode pendek Anda. Untuk inspirasi, lihat contoh -contoh shortcake di alam liar.
Untuk melaporkan bug atau permintaan fitur, silakan gunakan masalah GitHub.
Instalasi
Shortcake dapat diinstal seperti plugin WordPress lainnya.
Setelah selesai, Anda harus mendaftarkan UI untuk kode Anda.
Baru di 0.4.0 adalah kemampuan untuk melampirkan fungsi JavaScript ke pembaruan atribut acara. Tindakan kait dapat digunakan untuk secara dinamis menunjukkan atau menyembunyikan bidang berdasarkan nilai yang lain, atau untuk mengimplementasikan aturan validasi khusus.
Pertanyaan yang sering diajukan
Bagaimana cara mendaftarkan UI untuk pasangan kunci/nilai sewenang -wenang sebagai atribut kode pendek?
Shortcake tidak mendukung kustom KEY => pasangan nilai sebagai atribut kode pendek karena itu bukan pengalaman pengguna yang hebat.
Setelah memutakhirkan ke shortcake 0.7.x, beberapa bidang shortcode UI (Post Pilih, Pengguna Pilih, dll) tidak berfungsi seperti yang diharapkan. Apa yang bisa saya lakukan?
Dalam versi 0.7.0, kami memperbarui ke cabang terbaru dari perpustakaan Select2, yang menyediakan bidang terpilih yang disempurnakan dalam jenis bidang ini. Ini menyebabkan konflik yang diketahui dengan plugin yang memasukkan versi Select2 yang lebih lama. (Plugin populer dengan konflik yang diketahui termasuk WooCommerce dan Advanced Custom Fields Pro, antara lain.)
Jika Anda menemukan bahwa Anda mengalami konflik dengan plugin ini, Anda dapat mengatur bendera untuk memuat Select2 dalam namespace yang berbeda dengan mendefinisikan SELECT2_NOCONFLICT
yang konstan di wp-config.php Anda (atau di mana saja yang ditentukan sebelum kait 'init'.)
define( 'SELECT2_NOCONFLICT', true );
Menjalankan tes
Kami memiliki cakupan uji untuk PHP menggunakan PHPunit, dan JavaScript menggunakan Jasmine.
Menjalankan tes secara lokal
Tes Jasmine dapat dijalankan menggunakan grunt jasmine
dan juga dijalankan sebagai bagian dari tugas grunt scripts
. Untuk memperbarui file Core WordPress yang digunakan oleh Jasmine Test Suite, jalankan grunt updateJasmineCoreScripts --abspath="/path/to/wordpress-install"
.
Tangkapan layar
1. Tanpa pendek, kode pendek memiliki UI minimal.
2. Tetapi dengan shortcake, Tinymce akan membuat kode pendek dalam tampilan Tinymce.
3. dan tambahkan UI yang ramah pengguna untuk mengedit konten kode pendek dan atribut.
4. Tambahkan kode pendek baru ke posting Anda melalui "Tambahkan Media".
Tingkatkan Pemberitahuan
0.4.0
Kami telah menghapus kompatibilitas shim untuk argumen atribut placeholder
. Anda harus mendaftarkan placeholder untuk bidang Anda menggunakan argumen meta
.
0.3.0
Kami telah menghapus kompatibilitas shim untuk atribut content
magis. Jika Anda menggunakan ini untuk mendukung pengeditan konten dalam, Anda harus mengubah pendaftaran UI Anda untuk menggunakan inner_content
.
Changelog
0.7.4 (16 Januari 2019)
- Kompatibilitas Editor Blok: Cegah templat menjadi output sebelum kepala dokumen, yang memaksa browser ke Quirksmode, memecahkan beberapa gaya CSS di blok editor.
- Perbaikan Bug: Perbaikan bug di atas.
- Perbaikan Bug: Perbaiki kesalahan JavaScript yang akan menyebabkan modal elemen pos insert menjadi kosong jika kode pendek yang berisi bidang pilih tanpa opsi yang terlihat dan tanpa set default.
- Bug Fix: Perbaiki bug di mana tombol "Pilih File" di controller media menjadi tidak responsif setelah elemen posting dimasukkan.
- Peningkatan: Tambahkan atribut bidang "Izinkan Clear" opsional yang akan diteruskan ke bidang Select2 (Posting, Pengguna, atau Pilih Term) sehingga bidang multi-select dapat dihapus dengan satu klik. (Opsi ini default untuk mati dan tidak boleh mempengaruhi bidang yang ada.)
0.7.3 (5 September 2017)
- Keamanan: Gunakan validasi nonce di callback kode pendek render AJAX untuk melindungi terhadap CSRF.
- Perbaikan Bug: Pastikan bahwa JS yang sama mengaitkan pada semua jenis bidang.
- Perbaikan Bug: Memperbaiki bug yang mempengaruhi beberapa bidang pilih (nilai tidak dapat disetel setelah diatur, dan beberapa nilai default tidak dapat diatur).
- Perbaikan Bug: Cegah bidang yang dikodekan yang berisi dua persen karakter dari pecah.
- Perbaikan Bug: Perbaiki beberapa masalah di mana status modal media tidak diatur ulang dengan benar jika kode pendek ditutup tanpa menyimpan.
- Perbaikan bug: Kasus dukungan di mana ada beberapa instance WP_Editor pada halaman, dan pastikan bahwa kode pendek yang diedit dikirim ke halaman yang benar.
- Peningkatan: Ketika bidang POST_SELECT memilih dari lebih dari satu jenis posting, tunjukkan jenis posting di samping nama pos untuk seleksi yang lebih mudah.
- Peningkatan: Tampilkan thumbnail lampiran untuk jenis lampiran apa pun, bukan hanya gambar.
- Peningkatan: Tambahkan pesan kesalahan yang lebih bermanfaat jika tidak ada kode pendek dengan shortcake UI terdaftar.
- Perbarui terjemahan Norwegia
0.7.2 (24 April 2017)
- Perbaikan Bug: Perbaiki perilaku di WordPress 4.7.4 di mana mengedit kode pendek akan memasukkan kode pendek baru ke editor daripada memperbarui kode pendek yang diedit.
- Perbaikan Bug: Penggantian yang digunakan untuk menghindari persentase (%) karakter dalam atribut hanya menggantikan penampilan pertama
- Perbaikan bug: untuk bidang pilih dengan multiple = true, izinkan beberapa opsi dipilih secara default
- Menambahkan i18n untuk semua string di template bidang lampiran
- Menambahkan terjemahan Finlandia
0.7.1 (16 Maret 2017)
- Ubah pemformatan kode pendek untuk menambahkan ruang sebelum tebasan trailing self-close.
- Perbaiki penyelarasan pratinjau lampiran dengan nama file yang panjang.
- Perbaikan Bug: Tetapkan nilai awal pada bidang tertentu (sebelumnya, tidak ada nilai yang akan ditetapkan untuk bidang Pilih kecuali pengguna berinteraksi dengan bidang).
- Peningkatan/Perbaikan: Gunakan kembali satu salinan modal media dan setel ulang statistiknya pada saat penutupan, daripada membuat duplikat markup setiap kali modal diakses.
- Kompatibilitas: Menggunakan versi "lengkap" dari select2.js 4.0.3 untuk mencegah konflik plugin dengan plugin lain yang mengharapkan versi lengkapnya akan diaktifkan.
- Kompatibilitas: Tambahkan bendera
SELECT2_NOCONFLICT
untuk memuat select2 dalam namespace unik untuk mencegah konflik dengan plugin lain yang memuat select2.js versi 3. - Menambahkan terjemahan Norwegia.
- Perbaikan gaya pengkodean berganda.
0.7.0 (18 November 2016)
- Tambahkan tombol "Tambah Elemen Posting" ke Tombol Media - Satu klik untuk membuka daftar kode pendek, daripada mengklik tombol "Tambah Media" dan kemudian menemukan "Sisipkan Elemen Posting" di menu.
- Menambahkan tipe bidang "istilah pilih".
- Menambahkan tipe bidang "Pengguna Pilih".
- Menambahkan kait baru yang menyala pada rendering/pengeditan/penutupan kode pendek, yang dapat digunakan untuk jenis lapangan yang memerlukan inisialisasi atau pembersihan javascript khusus.
- SELECT FIELDS: Tambahkan dukungan penuh untuk beberapa bidang pilih.
- Pilih Bidang: Mendukung pemesanan opsi khusus.
- SELECT FIELDS: Opsi Pengelompokan Dukungan di
<optgroup>
dengan meneruskannya sebagai array bersarang. - Bidang Lampiran: Dukung banyak pilihan.
- Bidang Lampiran: Dukungan gambar SVG (jika unggahan SVG diaktifkan oleh plugin atau tema).
- Perbaikan Bug: Tangani Tanda Persen Saat Decoding Bidang Dengan
encode=true
Ditentukan. - Bug Fix: Perbaiki masalah di mana dibutuhkan dua klik pada kode pendek di editor untuk memunculkan modal kode pendek Edit.
- Perbaikan Bug: Perbaiki masalah saat mencari kode pendek dengan nama di mana jika beberapa kode pendek dimulai dengan string pencarian, hanya yang pertama dikembalikan.
- Perbaikan bug: Hanya output bidang deskripsi pada atribut jika tidak kosong.
- Kompatibilitas: Hapus shims untuk menangani modal media di WP 4.1 dan 4.2.
- Kompatibilitas: Upgrade PERPUSTAKAAN SELECT2 ke 4.0.3 Untuk menghindari konflik dengan plugin lain yang menggunakan versi terbaru dari Select2.
- Menambahkan terjemahan Turki.
- Menambahkan terjemahan Finlandia.
- Menambahkan terjemahan Swedia.
- Menambahkan terjemahan Hongaria.
0.6.2 (12 November 2015)
- Perbaikan Bug: Mendengarkan acara "Ubah" pada tombol radio dan kotak centang untuk memastikan atribut kode pendek diperbarui.
- Bug Fix: Memastikan
register_shortcode_ui
selalu dijalankan sebelum memanggil get_shortcodes (). Perbaikan POST Pilih AJAX Callback Saat menggunakan Hook register_shortcode_ui
.
0.6.1 (9 November 2015)
- Memperbaiki JavaScript TypeError Saat mengklik item menu bingkai media.
- Mengoreksi tautan di ReadMe.
0.6.0 (2 November 2015)
- Mendukung
encode=true
untuk Atribut, untuk memungkinkan dukungan HTML terbatas. Atribut perlu dijalankan melalui shortcode_atts()
agar dapat diterjemahkan dengan benar. - Mendefinisikan
SHORTCODE_UI_DOING_PREVIEW
konstanta saat memberikan pratinjau kode pendek, yang memungkinkan panggilan balik untuk melayani representasi yang berbeda dari kode pendek dalam Tinymce. - Ketika lampiran sudah dipilih untuk atribut kode pendek, pembukaan perpustakaan media akan memasukkannya dipilih.
- Bersihkan ikon penyelarasan vertikal di elemen pasca insert UI.
- Menambahkan kelas utilitas CSS ke semua bidang HTML. Misalnya, bidang lampiran sekarang dibungkus dengan
shortcode-ui-field-attachment
. - Menambahkan filter untuk memodifikasi argumen UI kode pendek tentang pendaftaran.
- Membersihkan contoh plugin, jadi ini adalah referensi pengembang yang jauh lebih berguna.
- Menggunakan JavaScript Regex Core untuk memarsing kode pendek, alih -alih mempertahankan regex terpisah.
- Mengizinkan HTML dalam label dan deskripsi lapangan.
- Menambahkan terjemahan Denmark.
- Menambahkan terjemahan Italia.
- Menambahkan terjemahan Jerman.
- Integrasi inti: sepenuhnya mendukung PHP 5.2.
- Perbaikan Bug: Berlanjut atribut kode pendek dan konten dalam ketika tidak ada UI yang terdaftar untuk mereka. Sebelumnya, mereka akan dibuang.
- Perbaikan Bug: Tampilkan deskripsi pada bidang POST SELECT.
- Perbaikan Bug: Atribut Perubahan bidang Atribut mengikat acara
input
daripada keyup
. - Catatan rilis penuh
0.5.0 (26 Agustus 2015)
- Bidang Lampiran: membuatnya lebih mudah untuk mengubah lampiran dengan mengklik thumbnail; Metadata lampiran yang ditambahkan di tampilan lapangan.
- Bidang Lampiran: JavaScript refactored untuk memicu peristiwa.
- Menambahkan jenis input
range
. - Memperkenalkan Hook
register_shortcode_ui
untuk plugin untuk mendaftarkan UI dengan lebih aman. - Tab Pratinjau yang Dihapus Untuk membawa pengalaman pengguna Shortcake lebih dekat ke Core, di mana pratinjau visual inline lebih disukai daripada pratinjau terpisah dalam modal media.
- Membersihkan javascript menggunakan jshint.
- Menambahkan terjemahan Rusia.
- Menambahkan terjemahan Portugis.
- Menambahkan phpDoc ke semua kelas.
- Perbaikan Bug: Berlanjut
inner_content
untuk kode pendek bahkan ketika UI tidak ditentukan. - Perbaikan Bug: Memukul ESC dalam tampilan kue pendek sekarang akan menutup modal. (Diperbaiki dalam inti.)
- Perbaikan Bug: Memukul Hapus Saat Pratinjau Kue Shortcake dipilih di Visual Editor sekarang menghasilkan kode pendek yang dihapus. (Diperbaiki dalam inti.)
- Fix bug: Fungsi 'pencarian' pendek tidak lagi bertentangan secara visual dengan kisi -kode pendek pada ukuran layar kecil. (Diperbaiki dalam inti.)
- Perbaikan bug: Gunakan
get_post_type()
bukan get_current_screen()->post_type
sehingga konteks diatur dengan benar di frontend. - Catatan rilis penuh
0.4.0 (22 Juni 2015)
- Menggunakan carldanley/wp-js-hooks untuk API dasar untuk mendaftarkan panggilan balik JS pada atribut kode pendek.
- Bidang Lampiran menggunakan indikator pemuatan ketika pratinjau untuk lampiran pemuatan.
- Menambahkan terjemahan Cina.
- Menambahkan terjemahan bahasa Prancis.
- Menambahkan terjemahan Spanyol.
- Fix Bug: Mencegah fatal saat editor dimuat dalam konteks frontend.
- Fix Bug: Bidang warna juga mendukung argumen
meta
. - Fix Bug: Menghapus whitespace trailing dari shortcode tanpa atribut.
- Fix Bug: Menghapus Slash Ganda di jalur editor CSS.
- Catatan rilis penuh
0.3.0 (27 April 2015)
- Breaking Change : Kami telah menghapus kompatibilitas shim untuk atribut
content
magis. Jika Anda menggunakan ini untuk mendukung pengeditan konten dalam, Anda harus mengubah pendaftaran UI Anda untuk menggunakan inner_content
. - Jenis bidang
post_select
baru untuk dipilih dari daftar posting. Mendukung parameter query
tambahan untuk memodifikasi kueri pencarian. - Menggunakan argumen
post_type
baru, Shortcode UI dapat didaftarkan untuk jenis posting tertentu. Ini bermanfaat jika Anda ingin UI untuk kode pendek yang diberikan hanya muncul pada jenis posting tertentu. - Untuk setiap atribut kode pendek, argumen
meta
dapat ditentukan untuk menambahkan atribut HTML sewenang -wenang ke bidang. Kami telah menambahkan kompatibilitas shim untuk argumen placeholder
yang ada. SHIM kompatibilitas ini akan dihapus di V0.4. - Saat memasukkan kode pendek, UI menunjukkan pesan yang bermanfaat ketika kode pendek tidak memiliki atribut untuk dikonfigurasi. Sebelumnya, pengguna disajikan dengan layar yang relatif kosong.
- Plugin contoh kami dapat diaktifkan melalui admin WordPress.
- Mengklik "Sisipkan Elemen Posting" di menu kiri secara efektif bertindak sebagai tombol kembali untuk memilih kode pendek.
- Bahasa di sekitar pengalaman pengeditan mencerminkan kode pendek yang Anda edit. Misalnya, dengan kode pendek pullquote, "Edit Elemen Post" menjadi "Edit PullQuote".
- Menambahkan terjemahan Belanda.
- File JavaScript sumber dipindahkan ke
js/src
untuk kejelasan antara sumber dan javascript yang dibangun. - File PHP dipindai menggunakan php_codesniffer.
- Fix bug: Atribut kode pendek tanpa kutipan didukung dengan benar.
- Fix Bug: Bidang Lampiran dengan benar mendaftarkan dependensi.
- Perbaikan Bug: Pengalaman "Masukkan Elemen Posting" harus berfungsi ketika editor visual dinonaktifkan. Shortcake hanya digabungkan secara longgar dengan Tinymce.
- Perbaikan Bug: Gaya editor dimuat di
after_setup_theme
untuk mencegah fatal. - Catatan rilis penuh.
0.2.3 (8 April 2015)
- Perbaiki masalah kompatibilitas mundur WP 4.1 dengan memulihkan argumen yang diteruskan ke kompatibilitas tampilan Tinymce.
0.2.2 (6 April 2015)
- Perbarui argumen yang diteruskan ke Tinymce View Render untuk kompatibilitas WP 4.2. Argumen yang sebelumnya disahkan tidak diperlukan, jadi menghapus tidak mematahkan kompatibilitas ke belakang.
0.2.1 (18 Maret 2015)
- Pastikan penggunaan jQuery menghormati mode jQuery.noconflict () di WP.
0.2.0 (18 Maret 2015)
- JS abstrak menggunakan browserify.
- Peningkatan untuk "menambahkan elemen pos" UI: Kode pintas diurutkan abjad; Pencarian berdasarkan label.
- Jauh lebih mudah untuk memilih pratinjau kode pendek yang mencakup iframe.
- Kompatibilitas WordPress 4.2.
- Menambahkan pemetik warna ke daftar bidang potensial.
- Perbaikan Bug: Kompatibilitas IE11.
- Fix Bug: Bidang kotak centang sekarang tidak dapat dicentang.
- Catatan rilis penuh.
0.1.0 (23 Desember 2014)
- Mendukung semua jenis input HTML5 untuk bidang formulir.
- Tab Pratinjau kode pendek dalam pengalaman pengeditan. }* Label ulang UI di sekitar "elemen pos", yang lebih deskriptif daripada "item konten."
- Banyak perbaikan bug.
- Catatan rilis penuh.