Как ограничить максимальную длину заголовков постов при их добавлении/редактировании через админку

Ограничение заголовков по длине имеет наибольшее значение, если они используются у вас в качестве содержимого тега <title>, особенно если вы не единственный автор на блоге.

По умолчанию длина заголовка не ограничена (если быть точным, то ограничена MySQL-типом данных TEXT, а это около 65 тыщ символов для латиницы).

По количеству символов

Все последующие сниппеты кода из этого поста можно вставлять в functions.php текущей темы.

function true_set_title_len(){
    if (mb_strlen($_POST['post_title']) > 70 ) //тут укажите максимальное число символов в заголовке
        wp_die( 'Вы превысили допустимую длину заголовка' );
}
 
add_action('publish_post', 'true_set_title_len');

В случае, если при написании поста вы превысите допустимую длину, тогда появится сообщение об ошибке. То есть обрезаться ничего не будет.

сообщение об ошибке «Вы превысили допустимую длину заголовка»

Хочу предупредить — функция mb_strlen работает не на всех хостингах, вы можете использовать вместо неё strlen, но тогда будут баги с кириллицей.

По количеству слов

А ещё можно задать ограничение не в символах, а в словах, функцию str_word_count мне подчинить не удалось, но это тоже полностью рабочий вариант:

function true_title_word_count(){
    $post_title = explode(" ", $_POST['post_title']);
    if (count($post_title) > 10 ) //тут укажите максимальное количество слов в заголовке
        wp_die( 'Вы превысили допустимую длину заголовка.');
}
 
add_action('publish_post', 'true_title_word_count', 0);

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

Если вам понадобятся ещё примеры, я могу расписать их в комментариях.

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

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

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

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

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