在 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
}
}
?>