Flector

Как запретить публикацию записей без установленных миниатюр?

Требование установки миниатюры

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

//требование обязательной установки миниатюры записи start
function wph_require_featured_image($post_id) {
    $post = get_post($post_id);
 
    if($post->post_status == 'publish' && !has_post_thumbnail($post_id)) {
        $post->post_status = 'draft';
        wp_update_post($post);
 
        $message = '<p>Запись не опубликована, так как не была установлена 
        миниатюра записи!</p><p><a href="' . admin_url('post.php?post=' . 
        $post_id . '&action=edit') . '">Вернуться назад и установить 
        миниатюру</a></p>';
        wp_die($message, 'Ошибка - отсутствует миниатюра!');
    }        
}
add_action('save_post', 'wph_require_featured_image', -1);
//требование обязательной установки миниатюры записи end

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


Комментарии (1 комментарий)
  1. Василий:

    А как сделать чтобы записи без миниатюры добавлялись не в черновик, а сразу же УДАЛЯЛИСЬ НАВСЕГДА?

Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!