Как контролировать размер постов и заголовков без плагинов

👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Ни для кого не секрет, что поисковые системы охотнее индексируют большие статьи, нежели чем короткие реплики. Поэтому при работе с блогом редакторы всегда ставят условие для авторов на минимальный размер поста в символах или словах. Давайте и мы создадим условие, при котором нельзя будет опубликовать пост, размер которого не соответствует минимально возможному.
Для этого всего-то и нужно, что создать специальную функцию, которая проверяет размер поста. Откройте файл functions.php и впишите в него такой код:

function minWord($content){
	global $post;
        $num = 200; //минимальное количество слов
	$content = $post->post_content;
	if (str_word_count($content) < $num)
	    wp_die( __('Ошибка: ваш пост меньше минимального количества слов (минимум - 200 слов). Нажмите возврат назад и добавьте текст.') );
}
add_action('publish_post', 'minWord');

Теперь при попытке опубликовать пост, который содержит меньше 200 слов, автор получит сообщение об ошибке. Чтобы вернутся к редактированию поста и добавить в него еще содержимого, нужно всего лишь нажать кнопку возврата в браузере.
Не трудно прикинуть необходимый для вас минимум, если учесть, что в среднем одно слово содержит 4-5 символов. Набор в 1000 символов легко обеспечивают 200-300 слов настоящего, осмысленного текста.
С минимально возможным размером поста мы разобрались. Но бывает и обратная ситуация, только она часто возникает не с длиной текста в посте, а с размерами заголовков постов. Когда пост имеет слишком длинное название, оно может не вписаться в дизайн вашего блога и выглядеть ужасно. Чтобы этого не случалось, можно прикинуть максимально допустимую длину заголовка блога, и поставить ограничение, которое предотвратит слишком длинные названия постов. Для этого открываем все тот же файл functions.php, и добавляем в него такие код:

function maxWord($title){
    global $post;
    $title = $post->post_title;
    if (str_word_count($title) >= 10 ) //максимальное количество слов в заголовке
        wp_die( __('Ошибка: заголовок поста слишком длинный (максимум - 10 слов). Вернитесь назад и сократите заголовок.') );
}
add_action('publish_post', 'maxWord');

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

Довольно нехитрые, но очень удобные и, главное, полезные функции, которые сделают ваш блог более красивым и информационно полным.

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

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

  1. Sma11erM1nd

    Ну такое подходит скорее для блогов с несколькими авторами. Просто не вижу смысла самому себе ставить ограничения.

    Ответить
  2. sobora

    Попробовала использовать данную функцию. Но она почему-то работает не корректно. Даже если введено больше заданного количества слов, все равно ошибка. И возвращает не на страницу только что созданного поста, а автоматически создает новый (пустой). Что бы отредактировать тот в котором ошибка – надо идти “Все записи” и заново открывать пост. Возможно у меня где-то конфликт какой-то. А вообще действительно штука прикольная для нескольких авторов.

    Ответить
×
WordPress:
прокачай свой сайт!

Скидка на премиум темы и плагины

Успей забрать скидку ⋙