很高兴听到Sony(wordpress3.3)具有新的编辑器api wp_editor(),使我们能够轻松地在自定义字段中使用编辑器的多个实例。
但是我需要自定义默认编辑器(针对主要内容),并且无法弄清楚如何使用此功能。
我需要为名为baner的新自定义帖子类型自定义编辑器,为此我需要使用更少的按钮来更改编辑器的大小。我知道我可以通过简单地使用自定义字段来做到这一点,但是由于某些原因,我想将内容用于横幅的描述。
先感谢您。
最佳答案
我一直在寻找一种将自定义metabox放在默认编辑器上方的解决方案,并且找到了我的老问题(如何使用wp_editor自定义默认编辑器)的解决方案!
解决方案是先取消设置默认编辑器。然后创建另一个metabox放置内容,然后使用wp_editor创建新的新实例,不是吗?
add_action( 'add_meta_boxes', 'page_meta_boxes' );
public function page_meta_boxes()
{
global $_wp_post_type_features;
//ive defined my other metaboxes first with higher priority
add_meta_box(
$id = 'page_heading_meta_box',
$title = __('Heading'),
$callback = array(&$this,'render_page_heading_metabox'),
$post_type = 'page',
$context = 'normal',
$priority = 'core'
);
add_meta_box(
$id = 'page_description_meta_box',
$title = __('Description'),
$callback = array(&$this,'render_page_description_metabox'),
$post_type = 'page',
$context = 'normal',
$priority = 'core'
);
//check for the required post type page or post or <custom post type(here article)
if (isset($_wp_post_type_features['article']['editor']) && $_wp_post_type_features['post']['editor']) {
unset($_wp_post_type_features['article']['editor']);
add_meta_box(
'wsp_content',
__('Content'),
array(&$this,'content_editor_meta_box'),
'article', 'normal', 'core'
);
}
if (isset($_wp_post_type_features['page']['editor']) && $_wp_post_type_features['page']['editor']) {
unset($_wp_post_type_features['page']['editor']);
add_meta_box(
'wsp_content',
__('Content'),
array(&$this,'content_editor_meta_box'),
'page', 'normal', 'low'
);
}
}
这样,我们注册了一个名为content的新元框。现在该放置编辑器了
function content_editor_meta_box($post)
{
$settings = array(
#media_buttons
#(boolean) (optional) Whether to display media insert/upload buttons
#Default: true
'media_buttons' => true,
#textarea_name
#(string) (optional) The name assigned to the generated textarea and passed parameter when the form is submitted. (may include [] to pass data as array)
#Default: $editor_id
'textarea_name'=>'content',
#textarea_rows
#(integer) (optional) The number of rows to display for the textarea
#Default: get_option('default_post_edit_rows', 10)
#tabindex
#(integer) (optional) The tabindex value used for the form field
#Default: None
'tabindex' => '4'
#editor_css
#(string) (optional) Additional CSS styling applied for both visual and HTML editors buttons, needs to #include <style> tags, can use "scoped"
#Default: None
#editor_class
#(string) (optional) Any extra CSS Classes to append to the Editor textarea
#Default:
#teeny
#(boolean) (optional) Whether to output the minimal editor configuration used in PressThis
#Default: false
#dfw
#(boolean) (optional) Whether to replace the default fullscreen editor with DFW (needs specific DOM elements #and css)
#Default: false
#tinymce
#(array) (optional) Load TinyMCE, can be used to pass settings directly to TinyMCE using an array()
#Default: true
#quicktags
#(array) (optional) Load Quicktags, can be used to pass settings directly to Quicktags using an array()
#Default: true
);
wp_editor($post->post_content,'content');
}
现在,您可以完全自定义您的编辑器!这就是现在的样子。希望它对您也有用!
关于wordpress - 如何自定义默认的WordPress编辑器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8815843/