5 способов расширить возможности редактора WordPress

25 Мар 2023г. в 11:52

Для блоггера редактор является очень важным инструментом, потому что именно в нем создаются заметки и материалы. В данной статье представлено несколько трюков и советов по расширению возможностей редактора WordPress.



1. Разрешаем использовать больше тегов HTML в редакторе
По умолчанию редактор WordPress не разрешает использовать теги, которые не совместимы со стандартом XHTML 1.0. Например, iframe будет вырезан редактором. Если по каким-то причинам вам нужно вставить iframe в заметку или на страницу материала, то вы будете очень разочарованы.

Ниже приведенный код принуждает редактор принимать больше тегов. Просто скопируйте код в файл functions.php своей темы и все заработает:

function fb_change_mce_options($initArray) {
$ext = 'pre[id|name|class|style],iframe[align|longdesc| name|width|height|frameborder|scrolling|marginheight| marginwidth|src]';

if ( isset( $initArray['extended_valid_elements'] ) ) {
$initArray['extended_valid_elements'] .= ',' . $ext;
} else {
$initArray['extended_valid_elements'] = $ext;
}

return $initArray;
}
add_filter('tiny_mce_before_init', 'fb_change_mce_options');

2. Устанавливаем HTML редактор по умолчанию
Очень многие продвинутые блоггеры и веб разработчики не любят "визуальный" редактор WordPress и используют HTML редактор. Потому что редактор WYSIWYG выдает плохой, "грязный" код.

Если вы хотите использовать HTML редактор по умолчанию, то просто добавьте следующий код в файл functions.php вашей темы:

1
add_filter('wp_default_editor', create_function('', 'return "html";'));


3. Устанавливаем содержание по умолчанию для редактора WordPress
Если вы вставляете какой-нибудь текст во все ваши заметки, например, приглашение подписаться на RSS фид, то будет очень удобно автоматически вставлять эти строки в текст новой заметки в редакторе.

Добавьте ниже приведенный код в файл functions.php вашей темы. Это все что нужно, чтобы редактор по умолчанию вставлял определенный контент:

1
add_filter( 'default_content', 'my_editor_content' );
2

3
function my_editor_content( $content ) {
4
$content = "Если вам нравится заметка, подпишитесь на мой RSS фид.";
5
return $content;
6
}


4. Устанавливаем различные стили редактора для различных типов заметок
Пользовательский тип заметки является одним из лучших нововведений в WordPress. Теперь можно создавать типы заметок для работ в портфолио или примеров кода. Стоит подумать о том, чтобы использовать разные стили для редактора в зависимости от типа заметки, с которой производятся работы.

Нужно просто добавить следующий код в файл functions.php вашей темы. Потребуется некоторая адаптация в зависимости от типа заметок. Также надо будет поменять имена фалов стилей.

function my_editor_style() {
global $current_screen;
switch ($current_screen->post_type) {
case 'post':
add_editor_style('editor-style-post.css');
break;
case 'page':
add_editor_style('editor-style-page.css');
break;
case 'portfolio':
add_editor_style('editor-style-portfolio.css');
break;
}
}
add_action( 'admin_head', 'my_editor_style' );


5. Выводим скрытие кнопки в TinyMCE
По умолчанию редактор TinyMCE имеет кнопки для большинства нужных действий, например, для жирного текста, курсива, заголовков и так далее. Но если вам нужна, например, горизонтальная линия, то придется включить кнопку для нее отдельно.

Вывод скрытых кнопок осуществляется простым добавлением следующего кода в файл functions.php вашей темы:

function enable_more_buttons($buttons) {
$buttons[] = 'hr';
$buttons[] = 'fontselect';
$buttons[] = 'sup';
// и так далее ...
return $buttons;
}
add_filter("mce_buttons", "enable_more_buttons");
Доступные кнопки: bold, italic, underline, strikethrough, justifyleft, justifycenter, justifyright, justifyfull, bullist, numlist, outdent, indent, cut, copy, paste, undo, redo, link, unlink, image, cleanup, help, code, hr, removeformat, formatselect, fontselect, fontsizeselect, styleselect, sub, sup, forecolor, backcolor, charmap, visualaid, anchor, newdocument, и separator.