Как добавить кнопки редактора к полю Биография в профиле пользователя
Если вы предоставили возможность пользователям писать о себе в профиле, используя разметку 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' );
}
Пользуйтесь!








