Снова ищем одного-двух вордпрессеров в нашу команду!

Изменяем плейсхолдер (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 году. С 2014 года меня можно встретить на WordCamp по всему миру — официальной конфе по WordPress, иногда там выступаю. Также периодически школа Epic Skills и LoftSchool приглашают меня вести у них уроки/вебинары.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля — пишите мне.

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

  • roman26 сентября 2014 #

    а возможна ли реальная подстановка имени поста из полей в метабоксах?
    у меня выпадающий список + дата
    хотелось бы чтобы имя поста подхватывалось из выбранного значения в выпадающем списке + установленная дата поста

    • Миша27 сентября 2014 #

      да, можно, вам просто нужно на jQuery поколдовать 🙂

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

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, в случае несоблюдения этого условия в 99% случаях ваш коммент будет удалён, а автор заблокирован. Печалька.