Изменяем плейсхолдер (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. Преподаватель в школе Нетология.

Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

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

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.