Изменяем плейсхолдер (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, задающегося при создании типа поста.

Источник: misha.blog

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

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: