我有一个wordpress主题,允许用户注册和创建帖子(qaengine是名字)。
我的用户要求我在文本编辑器中添加markdown,所以我找到了一个很好的插件,可以更改文本编辑器并允许插入markdown(wp-markdown)。问题是,wp-admin中的文本编辑器已更改,但我的用户界面上的文本编辑器不受影响,即使它们都是用于创建帖子/页面等的界面,并且基于插件描述它似乎应该适用。< / p>
任何时候我谷歌寻求帮助,这只是关于文本编辑器的样式,所以我不知道该怎么做。
答案 0 :(得分:1)
要改变qaengine主题的前端文本编辑器(TinyMCE的),你需要使用一个子主题,创建一个文件function.php,它在你的子主题文件夹复制然后插入此函数:
function editor_settings($args = array()){
$buttons = apply_filters( 'qa_editor_buttons', 'formatselect | bold italic | redo undo | removeformat | link | alignright alignjustify alignleft aligncenter | numlist bullist outdent indent | qaimage | blockquote qacode' );
return array(
'quicktags' => false,
'media_buttons' => false,
'tabindex' => 5,
'textarea_name' => 'post_content',
'tinymce' => array(
'language' =>'en',
'height' => 150,
'toc_depth' => '3',
'toc_header' => "div",
'plugins' => "image imagetools table wordcount searchreplace preview autolink link advlist lists directionality paste toc",
'block_formats' => 'Paragraph=p;Heading 2=h2;Heading 3=h3;Heading 4=h4;Pre=pre;Code=code',
'toolbar' => '[
"redo undo formatselect bold italic removeformat alignment numlist bullist outdent indent qaimage link unlink",
"rtl ltr table searchreplace preview blockquote qacode toc copy"
]',
'autoresize_min_height' => 150,
'autoresize_max_height' => 400,
'force_p_newlines' => false,
'statusbar' => true,
'directionality' => 'ltr',
'paste_data_images' => true,
'setup' => "function(ed){
ed.onChange.add(function(ed, l) {
var content = ed.getContent();
if(ed.isDirty() || content === '' ){
ed.save();
jQuery(ed.getElement()).blur(); // trigger change event for textarea
}
});
// We set a tabindex value to the iframe instead of the initial textarea
ed.onInit.add(function() {
var editorId = ed.editorId,
textarea = jQuery('#'+editorId);
jQuery('#'+editorId+'_ifr').attr('tabindex', textarea.attr('tabindex'));
textarea.attr('tabindex', null);
});
ed.addButton('alignment', {
type: 'listbox',
text: 'Alignment',
icon: false,
onselect: function(e) {
tinyMCE.execCommand(this.value());
},
values: [
{icon: 'alignleft', text: 'Align left', value: 'JustifyLeft'},
{icon: 'alignright', text: 'Align right', value: 'JustifyRight'},
{icon: 'aligncenter', text: 'Align center', value: 'JustifyCenter'},
//{icon: 'alignjustify', text: 'Justify', value: 'JustifyFull'},
],
onPostRender: function() {
// Select the firts item by default
this.value('JustifyLeft');
}
});
}"
));
}
ps:必须在TinyMCE文件夹中安装一些TinyMCE插件,以便能够添加一些所需的按钮。