В WordPress есть несколько групп, которые могут публиковать записи. Это конечно же - Администраторы, редакторы, потом авторы и участники. Участник не может опубликовать пост, без проверки, поэтому если он напишет меньше текста или не по делу, вы легко можете отклонить его запись. Что же касается остальных, то они могут без проблем опубликовывать что угодно.
Если вы хотите уменьшить количество постов с коротким текстом или попросту задать минимальное количество слов и заставить пользователей писать статьи по длиннее, Вам поможет следующая функция, которая задает минимальное количество слов для записи.
Функция не большая и для того чтобы получить результат, не надо ничего сложного делать, а главное все без плагина. Просто сделайте следующий шаг.
Открываем файл пользовательских функций functions.php и просто добавляем в него следующий код.
function ogranichivaem_publikaciu($dannie) {
$limit = 100;
if ($dannie['post_type'] == 'post') :
$kontent = $dannie['post_content'];
if (str_word_count($kontent) < $limit) :
$dannie['post_status'] = 'pending';
add_filter('redirect_post_location', 'moi_post_redirect_filter', '99', 2);
endif;
endif;
return $dannie;
}
add_filter('wp_insert_post_data', 'ogranichivaem_publikaciu', '99');
function moi_post_redirect_filter($location, $limit) {
remove_filter('redirect_post_location', __FILTER__, '99');
return add_query_arg('novoe_uvedomlenie', 1, $location);
}
// Регистрируем предупреждение автору:
function moi_post_uvedomlenie_adminu() {
if (!isset($_GET['novoe_uvedomlenie'])) :
return;
endif;
switch (absint($_GET['novoe_uvedomlenie'])) {
case 1:
$limit = $_GET['limit_slov'];
$soobchenie = 'Перед публикацией ваша запись должна содержать достаточно слов, немение 100.';
break;
default:
$soobchenie = 'неизвестная.';
}
print '<div id="notice" class="error"><p><b>Ошибка</b>: ' . $soobchenie . '</p></div>';
}
add_action('admin_notices', 'moi_post_uvedomlenie_adminu');
Данную функцию можно настроить указав минимальное количество слов для записи в 2 строке. Сейчас установлено 100. Также отредактировать сообщение, которое увидит автор, в случаи, если он все таки написал меньше слов, в 27 строке. Не забудьте в этой строке тоже указать количество слов, такое как и в 2 строке, чтобы автор знал, сколько ему надо написать.
После добавления функции, она начнет фильтровать посты с меньшим количеством слов, чем Вам нужно.
На этом все, спасибо за внимание. 🙂