私はWordPressの中でTinyMceエディタを切り取ろうとしていて、私が行ったより古いWPサイトからこのコードを取りましたが、設定したボタンは機能しないようです、私は持っています:
add_filter( 'tiny_mce_before_init', 'blm_format_tiny_mce' );
function blm_format_tiny_mce( $in ) {
$in['remove_linebreaks'] = true;
$in['convert_newlines_to_brs'] = false;
$in['keep_styles'] = true;
$in['tabfocus_elements'] = 'major-publishing-actions';
$in['paste_remove_styles'] = false;
$in['paste_remove_spans'] = true;
$in['paste_strip_class_attributes'] = 'mso';
$in['paste_text_linebreaktype'] = 'combined';
$in['plugins'] = 'tabfocus,paste,media,fullscreen,wordpress,wpeditimage,wpgallery,wplink,wpdialogs';
$in['theme_advanced_buttons1'] = 'formatselect,forecolor,|,bold,italic,underline,|,bullist,numlist,blockquote,|,justifyleft,justifycenter,justifyright,justifyfull,|,link,unlink,|,wp_adv';
$in['theme_advanced_buttons2'] = 'pastetext,pasteword,selectall,removeformat,|,charmap,|,outdent,indent,|,undo,redo';
$in['theme_advanced_buttons3'] = '';
$in['theme_advanced_buttons4'] = '';
//$in['valid_children'] = '+div[p]';
return $in;
}
今はbullist,numlist
をリストしていますが、エディタ上では表示されません。しかし、strikethrough
は表示されていなくても表示されます。
不足している他の2つだけがhorizontal line
とspecial character
です。それに加えて、それらは私がそれらを置いた順序で現れない、順序は幾分ランダムに思える。
このサイトではすべてが利用可能であれば、ボタンを設定しなくても問題ありませんが、pastetext,pasteword,selectall
などのプラグインボタンを挿入するために使用する必要があると思いましたか。
私はここで何をしていますか?
Theme_advanced_buttons1、theme_advanced_buttons2などは、TinyMCE 4では使用できなくなったTinyMCEの高度なテーマの一部であったと思います。
2行のコントロールは、次のように参照されます。
mce_buttons
mce_buttons_2
これは、 https://www.kevinleary.net/customizing-tinymce-wysiwyg- editor-wordpress/ /から得られた良い例です。
// TinyMCE: First line toolbar customizations
if( !function_exists('base_extended_editor_mce_buttons') ){
function base_extended_editor_mce_buttons($buttons) {
// The settings are returned in this array. Customize to suite your needs.
return array(
'formatselect', 'bold', 'italic', 'subscript', 'superscript', 'bullist', 'numlist', 'link', 'unlink', 'blockquote', 'outdent', 'indent', 'charmap', 'removeformat', 'spellchecker', 'fullscreen', 'wp_more', 'wp_help'
);
}
add_filter("mce_buttons", "base_extended_editor_mce_buttons", 0);
}
// TinyMCE: Second line toolbar customizations
if( !function_exists('base_extended_editor_mce_buttons_2') ){
function base_extended_editor_mce_buttons_2($buttons) {
// The settings are returned in this array. Customize to suite your needs. An empty array is used here because I remove the second row of icons.
return array('bold, italic, pastetext, paste, selectall');
}
add_filter("mce_buttons_2", "base_extended_editor_mce_buttons_2", 0);
}
N.B. selectallは動作するようですが、試してみるとアイコンが表示されません。おそらくこの問題と同じです - https://github.com/tinymce/tinymce /issues/634
また、 'pasteword'オプションはないようですが、 'paste'と 'pastetext'、そして有料プラグイン 'powerpaste'もあります。
元の配列を使用し続けることができ、追加のフィルターを使用する必要がないこの方法でも実行できることがわかりました。
theme_advanced_buttons*
という名前の配列キーの代わりに、toolbar*
という名前になりました。たとえば、
$in['toolbar1'] = 'formatselect, bold, italic, underline, bullist, numlist, blockquote, link, image, alignleft, aligncenter, alignright, alignjustify, wp_more, fullscreen';
$in['tollbar2'] = 'strikethrough, forecolor, outdent, indent, pastetext, removeformat, wp_help';
$in['toolbar3'] = '';
$in['toolbar4'] = '';
ただし、何らかの理由で、データにundo
およびredo
ボタンがなくても、ジャンキングの answer あなたがリストしたものを得るexactly。