WordPress как на ладони
wordpress jino

wp_default_editor хук-фильтр . WP 2.5.0

Определяет какой редактор (какая вкладка) должен быть показан по умолчанию (tynimce или html).

Этот фильтр позволяет установить вкладку редактора по умолчанию, для этого в фильтре нужно вернуть одно из двух значений: tynimce (вкладка "Визуально") или html (вкладка "Текст"). Так мы можем жестко установить, какая вкладка при редактировании записи будет выставлена по умолчанию.

Обычно выставляется последняя используемая вкладка, т.е. если вы редактировали запись в визуальном редакторе, то эта настройка сохраняется и при следующем заходе у вас по умолчанию будет выставлен визуальный редактор и наоборот. Но при установке этого фильтра, мы жестко определим вкладку по умолчанию.

Вкладки редакторов WOrdPress

Использование

add_filter( 'wp_default_editor', '__action_function_name__' );
function __action_function_name__( $r ) {
	// Фильтр...

	return $r;
}
$r(строка)
Тип редактора, который будет установлен по умолчанию. Может быть: tynimce, html, test.

Примеры

#1 Установка вкладки редактора по умолчанию

Разместите один из следующих кодов в functions.php темы и у вас всегда по умолчанию будет выставляться указанная вкладка редактора:

# Установим визуальный редактор, редактором по умолчанию
add_filter( 'wp_default_editor', create_function('', 'return "tinymce";') );

# Установим HTML (текстовый) редактор, редактором по умолчанию
add_filter( 'wp_default_editor', create_function('', 'return "html";') );  

#2 Вкладка по умолчанию, только при редактировании определенных типов записей

Тут показано, как выставить HTML редактор по умолчанию, только для записей типа post, func, hook:

## Текстовый редактор (text editor) по умолчанию. Устанавливает вкладку текстового редактора как дефолтную, даже если до этого была выбрана вкладка tinymce
add_filter( 'wp_default_editor', function( $type ){
	// только для указанных типов страниц
	$html = in_array( get_current_screen()->post_type, array('post','func','hook') );

	return $html ? 'html' : $type;
});

Связи хука

Используется в: wp_default_editor()

Фрагменты кода хука wp_default_editor

Фрагмент из: wp-includes/general-template.php VER 4.9.1
...
 */
function wp_default_editor() {
	$r = user_can_richedit() ? 'tinymce' : 'html'; // defaults
	if ( wp_get_current_user() ) { // look for cookie
		$ed = get_user_setting('editor', 'tinymce');
		$r = ( in_array($ed, array('tinymce', 'html', 'test') ) ) ? $ed : $r;
	}

	/**
	 * Filters which editor should be displayed by default.
	 *
	 * @since 2.5.0
	 *
	 * @param string $r Which editor should be displayed by default. Either 'tinymce', 'html', or 'test'.
	 */
	return apply_filters( 'wp_default_editor', $r );
}

/**
 * Renders an editor.
 *
 * Using this function is the proper way to output all needed components for both TinyMCE and Quicktags.
 * _WP_Editors should not be used directly. See https://core.trac.wordpress.org/ticket/17144.
 *
 * NOTE: Once initialized the TinyMCE editor cannot be safely moved in the DOM. For that reason
 * running wp_editor() inside of a meta box is not a good idea unless only Quicktags is used.
 * On the post edit screen several actions can be used to include additional editors
 * containing TinyMCE: 'edit_page_form', 'edit_form_advanced' and 'dbx_post_sidebar'.
 * See https://core.trac.wordpress.org/ticket/19173 for more information.
 *
 * @see _WP_Editors::editor()
...
wp_default_editor Комментариев нет

    Здравствуйте, !

    Ваш комментарий
    Предпросмотр