Заздалегідь встановлений текст для нового посту WordPress (the_editor_content)

Нотатка як би не нова і я точно пам’ятаю, що десь я про це рішення читав, але мені сьогодні знадобилося встановити встановлений текст для нового посту і в мережі я чомусь не зміг швидко знайти рішення, виявилося простіше зробити самому.

Передвстановлений текст у редакторі WordPress

Загалом, по порядку

Є довільний тип записів відмінний від post , називається func і мені потрібно було зробити так, щоб при створенні нового поста типу func у редакторі WordPress вже було встановлено текст-заготівлю. Мається на увазі, що всі пости цього типу є шаблонними, тому набагато легше, коли в редакторі вже є шаблон тексту.

Вирішується це завдання за допомогою фільтра, і я це знав, але швидко знайти цей фільтр у мене не вийшло, та власне взагалі не вдалося знайти рішення в рунеті – поганий з мене детектив.

Потрібний фільтр називається the_editor_content – він фільтрує контент редактора WordPress, причому будь-яке поле редактора показується, будь то при створенні/редагуванні посту або коментаря. Тому, перевіряти чи слід “змінювати” текст чи ні, ми будемо у функції, яку прикріпимо до фільтра. Виглядає все це дуже просто, ось так:

function new_post_content($cont){
	global $post;
	if ( $post->post_content=='' && $post->post_type=='func' ){
		$cont = "Тут якийсь текст, який має бути в полі контенту в новому пості";
	}
	return $cont;
}
add_filter('the_editor_content', 'new_post_content');

Умовою if ( $post->post_content==” && $post->post_type==’func’ ) ми перевіряємо, чи це новий пост (у поста немає контенту) і чи дорівнює тип посту func , якщо умова виконується, то пишемо текст у полі контенту, якщо ні, просто повертаємо текст.

Вставляти цей код потрібно у файл теми functions.php.

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

Залишити коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *