Изменяем плейсхолдер (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 WooCommerce

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

Впервые познакомился с WordPress в 2009 году, и после двух лет мучений с Joomla и самописными движками это был просто бальзам на душу. С 2014 года меня можно встретить на WordCamp — официальной конфе по WP в Москве, иногда там выступаю. Также в настоящее время веду курсы по WordPress в Epic Skills в Питере.

Смотрите также