为 WordPress 分类目录的描述添加可视化编辑器

默认情况下,WordPress后台的 分类目录 的描述只能添加纯文本内容,今天分享一下为 WordPress 分类目录的描述添加可视化编辑器的方法。

tinymce-editor-category-description-wpdaxue_com

将下面的代码添加到当前主题的 functions.php 即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/**
 * 为 WordPress 分类目录的描述添加可视化编辑器
 * https://www.wpdaxue.com/add-tinymce-editor-category-description.html
 */
// 移除HTML过滤
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 class="form-table">
		<tr class="form-field">
			<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 class="description"><?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
	}
}

/**
* 为 WordPress 分类目录的描述添加可视化编辑器
* https://www.wpdaxue.com/add-tinymce-editor-category-description.html
*/
// 移除HTML过滤
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 class="form-table">
<tr class="form-field">
<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 class="description"><?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
}
}

上面的代码分为三部分:

1.移除WP默认对描述内容的HTML代码过滤功能

2.添加可视化编辑器的“描述”框

3.移除默认的“描述”框

注:该方法只在“分类”的编辑页面生效。

参考资料:http://www.paulund.co.uk/add-tinymce-editor-category-description

本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、Python、Objective-C、ActionScript、Pascal等单词的拼写,熟悉Windows、Linux、OS X、Android、iOS、WP8等系统的开关机。

通过下面的方式来联系我们:

电邮:138762189@qq.com

联系QQ:点击这里给我发消息

官方站:www.tadke.com

※ ※ 联系请加我的企鹅号 ※※

※ ※技术支持请微信联系站长 ※※

Copyright © 2023 Tadke.com. 琼ICP备20000547号