Sebelum WP 3.9 saya menerapkan dua filter berikut di functions.php:
function my_mce_buttons_2( $buttons ) {
array_unshift( $buttons, 'styleselect' );
return $buttons;
}
add_filter('mce_buttons_2', 'my_mce_buttons_2');
function mce_mod( $init ) {
$init['theme_advanced_blockformats'] = 'p,h3,h4';
$init['theme_advanced_styles'] = "Header gross=mus-bi news-single-bighead; Header klein=mus-bi news-single-smallhead; Link=news-single-link; List Items=news-single-list";
return $init;
}
add_filter('tiny_mce_before_init', 'mce_mod');
sehingga dropdown format paragraf hanya menunjukkan p, h3 dan h4 sedangkan dropdown gaya kustom menunjukkan "Header gross", "Header klein" dan seterusnya. Tapi sayangnya wp dan tinymce tidak mengganggu lagi sejak wp 3.9, saya hanya melihat dropdown format paragraf standar sekarang
serta dropdown format gaya standar:
Sejauh ini saya belum menemukan dokumen tentang apakah ada kait yang berubah dengan pembaruan ke tinymce 4. Ada yang tahu? Salam Hormat Ralf
Pembaruan: Oke berdasarkan penelitian yang lebih sedikit dan komentar di bawah saya kira saya sudah menemukan jawabannya:
//Creating the style selector stayed the same
function my_mce_buttons( $buttons ) {
array_unshift( $buttons, 'styleselect' );
return $buttons;
}
add_filter('mce_buttons', 'my_mce_buttons');
function mce_mod( $init ) {
//theme_advanced_blockformats seems deprecated - instead the hook from Helgas post did the trick
$init['block_formats'] = "Paragraph=p; Heading 3=h3; Heading 4=h4";
//$init['style_formats'] doesn't work - instead you have to use tinymce style selectors
$style_formats = array(
array(
'title' => 'Header 3',
'classes' => 'mus-bi news-single-bighead'
),
array(
'title' => 'Header 4',
'classes' => 'mus-bi news-single-smallhead'
),
array(
'title' => 'Link',
'block' => 'a',
'classes' => 'news-single-link',
'wrapper' => true
)
);
$init['style_formats'] = json_encode( $style_formats );
return $init;
}
add_filter('tiny_mce_before_init', 'mce_mod');
style_select
dan menambahkan menu "Kelas". wordpress.stackexchange.com/questions/143689/…Jawaban:
Jika Anda melihat di dalam
class-wp-editor.php
Anda akan menemukan bahwa filter yang Anda gunakan masih ada, namun pengaturannya berbeda.Saya menduga, tapi saya pikir Anda perlu mengubah kunci array yang Anda targetkan
formats
.EDIT Meninggalkan ini di tempatnya, tetapi OP mengonfirmasi bahwa ini tidak melakukan apa yang dia coba.
Ingatlah bahwa ini sama sekali belum diuji, sehingga jarak tempuh Anda mungkin berbeda-beda. (Dan jangan gunakan di situs produksi sampai Anda mengujinya).
Melanjutkan dan seterusnya
Menggali lebih dalam format tampaknya menjadi tombol tinyMCE kustom. Anda dapat melihat bahwa
formatselect
tombol ditambahkan kemce_buttons_2
dalamclass-wp-editor.php
. Dan kemudian saya melacaknya ketinymce.js
:Dengan mengingat hal itu, saya pikir target baru adalah 1. (idealnya) mengubah
editor.settings.block_formats
atau 2. menghapus tombol itu dengan memfiltermce_buttons_2
dan menambahkan versi kustom Anda sendiri.Diuji dan bekerja
Peringatan kecil : Saya tidak yakin di mana menambahkan gaya untuk item tarik-turun itu sendiri. Dalam sampel TinyMCE, opsi "Judul Merah" berwarna merah. Saya tidak tahu ini. Jika Anda mau, beri tahu saya.
sumber
block_formats
opsi tidak dapat memiliki trailing; . Saya sedang membangun nilai dari opsi yang dapat dikonfigurasi disimpan dan memiliki trailing; yang merusak daftar itu. Berharap itu menyelamatkan seseorang beberapa menit.array( 'title' => 'Red text', 'inline' => 'span', 'styles' => array( 'color' => '#ff0000' ) ),
?unset($init['preview_styles']);
$init['preview_styles'] = 'font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow';
. Saya kira ini pada dasarnya sama dengan yang disarankan @ Dalton, meskipun dengan cara yang lebih eksplisit. Ini cukup menetapkan nilai default, sesuai dokumentasi