Как добавить кнопки редактора к полю Биография в профиле пользователя

Как добавить кнопки редактора к полю Биография в профиле пользователя | n-wp.ru

Если вы предоставили возможность пользователям писать о себе в профиле, используя разметку HTML, то следующим логичным шагом будет добавление кнопок визуального редактора к полю Биография.

Как добавить кнопки редактора к полю Биография в профиле пользователя

Откройте файл functions.php и добавьте в него следующий код:

function biographical_info_tinymce() {
	if ( basename($_SERVER['PHP_SELF']) == 'profile.php' || basename($_SERVER['PHP_SELF']) == 'user-edit.php' && function_exists('wp_tiny_mce') ) {
		wp_admin_css();	
		wp_enqueue_script('utils');
		wp_enqueue_script('editor');
		do_action('admin_print_scripts');
		do_action("admin_print_styles-post-php");
		do_action('admin_print_styles');
		remove_all_filters('mce_external_plugins');
 
		add_filter( 'teeny_mce_before_init', create_function( '$a', '
			$a["theme"] = "advanced";
			$a["skin"] = "wp_theme";
			$a["height"] = "300";
			$a["width"] = "480";
			$a["onpageload"] = "";
			$a["mode"] = "exact";
			$a["elements"] = "description";
			$a["theme_advanced_buttons1"] = "formatselect, bold, italic, pastetext, pasteword, bullist, numlist, link, unlink, outdent, indent, charmap, removeformat, spellchecker, fullscreen, wp_help";
			$a["theme_advanced_blockformats"] = "p,h2,h3,h4,h5,h6";
			$a["theme_advanced_disable"] = "strikethrough,underline,forecolor,justifyfull";
			return $a;' ) );
 
		wp_tiny_mce( true );
	}
}
add_action('admin_head', 'biographical_info_tinymce');

Этот код добавляет к полю Биография такие же привычные кнопки, как и в обычном редакторе постов. Теперь вы можете не только использовать HTML-разметку в информации профиля о себе, но и видеть визуальные изменения редактируемого текста.

Я уже писал о том, как разрешить использование разметки HTML при оформлении описаний категорий, тегов, при заполнении информации о пользователе в профиле. Для этого нужно добавить в файл functions.php следующий код:

$filters = array('pre_term_description', 'pre_link_description', 'pre_link_notes', 'pre_user_description');
foreach ( $filters as $filter ) {
    remove_filter($filter, 'wp_filter_kses');
}

foreach ( array( 'term_description' ) as $filter ) {
    remove_filter( $filter, 'wp_kses_data' );
}

Пользуйтесь!

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*