在 WordPress 默认情况下,有两种方法来编辑文章分类,您可以根据他们所属的标签或类别来进行编辑。这两种分类可以自定义名称,别名和描述。你可以很容易地创建一个分类目录然后加上一个简短的说明。 与 WordPress 默认描述字段的问题是,分类里的编辑器只是简单的字段文本框。并没有 TinyMCE 的所见即所得的编辑器,所以你不能把任何额外的样式或图像发布到网站上。在本教程中,就教你如何将 WordPress 分类目录描述添加上 TinyMCE 编辑器。
用 wp_editor() 函数来添加新的 TinyMCE 框页面,这个函数可以设置一个默认值来创建 TinyMCE 编辑器框。也可以设置其他的函数:
wp_editor 参数设置 () 。
- wpautop – 布尔值,自动显示 WordPress 的周围添加一个文本段落。
- media_buttons – 布尔值来显示多媒体按键
- textarea_name – 表格上的文本域的名称,这个值是在提交表单时通过。
- textarea_rows – 行文本区域显示的数目
- 的 tabIndex – 在表单字段中使用的的 tabindex
- editor_css – 这是 TinyMCE 的额外的 CSS 样式
- editor_class – 额外的 CSS 类添加到 TinyMCE 的编辑器
- TinyMCE 的 – 可用于直接传递设置在 TinyMCE
- quicktags – 转至其他设置的 quicktags
添加 edit_category_form_field 函数过滤分类,输出一个新表。。
add_filter('edit_category_form_fields', 'cat_description'); function cat_description($tag) { ?> <table > <tr > <th scope="row" valign="top"><label for="description"><?php _ex('Description', 'Taxonomy Description'); ?></label></th> <td> <?php $settings = array('wpautop' => true, 'media_buttons' => true, 'quicktags' => true, 'textarea_rows' => '15', 'textarea_name' => 'description' ); wp_editor(wp_kses_post($tag->description , ENT_QUOTES, 'UTF-8'), 'cat_description', $settings); ?> <br /> <span ><?php _e('The description is not prominent by default; however, some themes may show it.'); ?></span> </td> </tr> </table> <?php }
删除默认的描述文本框:
add_action('admin_head', 'remove_default_category_description'); function remove_default_category_description() { global $current_screen; if ( $current_screen->id == 'edit-category' ) { ?> <script type="text/javascript"> jQuery(function($) { $('textarea#description').closest('tr.form-field').remove(); }); </script> <?php } }
删除 HTML 过滤器元素再保存的完整插件代码:
// remove the html filtering remove_filter( 'pre_term_description', 'wp_filter_kses' ); remove_filter( 'term_description', 'wp_kses_data' ); add_filter('edit_category_form_fields', 'cat_description'); function cat_description($tag) { ?> <table > <tr > <th scope="row" valign="top"><label for="description"><?php _ex('Description', 'Taxonomy Description'); ?></label></th> <td> <?php $settings = array('wpautop' => true, 'media_buttons' => true, 'quicktags' => true, 'textarea_rows' => '15', 'textarea_name' => 'description' ); wp_editor(wp_kses_post($tag->description , ENT_QUOTES, 'UTF-8'), 'cat_description', $settings); ?> <br /> <span ><?php _e('The description is not prominent by default; however, some themes may show it.'); ?></span> </td> </tr> </table> <?php } add_action('admin_head', 'remove_default_category_description'); function remove_default_category_description() { global $current_screen; if ( $current_screen->id == 'edit-category' ) { ?> <script type="text/javascript"> jQuery(function($) { $('textarea#description').closest('tr.form-field').remove(); }); </script> <?php } } ?>