Изменяем плейсхолдер (placeholder) заголовка на странице создания нового поста

Объясню сначала, что это такое, показав скриншот, фраза «Введите заголовок» — как раз то, что нам нужно.

плейсхолдер по умолчанию

Он кстати общий для записей, страниц и для созданных вами типов постов.

Меняем плейсхолдер везде

Вставляем этот код в functions.php для того, чтобы поменять его, однако он по-прежнему будет один и тот же для всех типов постов, хоть и с другим текстом:

function change_default_placeholder( $placeholder ){
	$screen = get_current_screen();
	$placeholder = 'Как назовём?';
	return $placeholder;
}
 
add_filter( 'enter_title_here', 'change_default_placeholder');

В итоге получаем вот что:

новый плейсхолдер

Разные плейсхолдеры для разных типов постов

Немного поколдовав над предыдущим вариантом кода, мы получаем:

function change_default_placeholders( $placeholder ){
	$screen = get_current_screen();
	switch($screen->post_type){
		case 'post':{ // для постов
			$placeholder = 'Как назовём пост?';
			break;
		}
		case 'page':{ // для страниц
			$placeholder = 'Как назовём страницу?';
			break;
		}
		case 'game':{ // для игр (созданный тип постов)
			$placeholder = 'Введите название игры';
			break;
		}
		// сюда можно добавить ещё сколько угодно условий
	}
	return $placeholder;
}
 
add_filter( 'enter_title_here', 'change_default_placeholders');

Кстати, можно автоматизировать код, вытаскивая плейсхолдеры из массива $labels, задающегося при создании типа поста.

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Комментарии — 2

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал