eurobyte.ru - мощные сервера с Дата-центрами в Нидерландах и Москве. От 159 ₽/мес.

Заранее установленный текст для нового поста в WordPress (the_editor_content)

Заметка как бы не нова и я точно помню, что где-то я про это решение читал, но мне сегодня понадобилось установить предустановленный текст для нового поста и в сети я почему-то не смог быстро найти решение, оказалось проще сделать самому.

Этот хак НЕ работает с новым редактором блоков (Гутенберг). Только с классическим редактором.

В общем, по порядку

Есть произвольный тип записей отличный от post, называется func и мне нужно было сделать так, чтобы при создании нового поста типа func в редакторе WordPress уже был установлен текст-заготовка. Подразумевается, что все посты этого типа шаблонные, поэтому гораздо легче, когда в редакторе уже есть шаблон текста.

Решается эта задача посредствам фильтра, и я это знал, но быстро найти этот фильтр у меня не получилось, да собственно вообще не получилось найти решение в рунете - плохой с меня сыщик.

Нужный фильтр называется the_editor_content - он фильтрует контент редактора WordPress, причем неважно какое поле редактора показывается, будь то при создании/редактировании поста или комментария. Поэтому, проверять следует ли "изменять" текст или нет, мы будем в функции, которую прикрепим к фильтру. Выглядит все это очень просто, вот так:

add_filter( 'the_editor_content', 'new_post_content' );

function new_post_content( $content ){
	global $post;

	if ( ! $post->post_content && $post->post_type == 'post' ) {
		$content = "Here is some text that should be in the content field in a new post";
	}

	return $content;
}

Условием if ( ! $post->post_content && $post->post_type == 'post' ) { мы проверяем, новый ли это пост (у поста нет контента) и равен ли тип поста post, если условие выполняется, то пишем текст в поле контента, если нет, то просто возвращаем текст.

Вставлять этот код нужно в файл темы functions.php.

Может кому пригодиться.

  • Тут недорогие гири

    Нашел тут недорогие гири от производителя, есть классика, с большой ручкой еще дешевле, выбор.

    www.training-power.ru

8 комментариев