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

Я разрабатываю сайт для клиента. Мне нужно сделать так что бы посты не публиковались если пользователь не добавил или просто забыл добавить картинку.

Проще говоря сделать поле миниатюры — обязательным полем и при обновлении или создании записи проверять его наличие. Если картинки — нет, то выводить предупреждение.

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

    Воспользуйтесь следующим снипетом, который следует добавить в файл functions.php

     /**
     * Проверям добавлена ли миниатюра
     *
     */
     dd_action('save_post', 'wpds_check_thumbnail');
     add_action('admin_notices', 'wpds_thumbnail_error');
    function wpds_check_thumbnail($post_id) {
     // change to any custom post type
     if (get_post_type($post_id) != 'post')
     return;
     if (!has_post_thumbnail($post_id)) {
     // set a transient to show the users an admin message
     set_transient("has_post_thumbnail", "no");
     // unhook this function so it doesn't loop infinitely
     remove_action('save_post', 'wpds_check_thumbnail');
     // update the post set it to draft
     wp_update_post(array('ID' => $post_id, 'post_status' => 'draft'));
     add_action('save_post', 'wpds_check_thumbnail');
     } else {
     delete_transient("has_post_thumbnail");
     }
     }
    function wpds_thumbnail_error() {
     // check if the transient is set, and display the error message
     if (get_transient("has_post_thumbnail") == "no") {
     echo '"<div id="message" class="error"><p><strong>Вы не добавили миниатюру. Запись не опубликована</strong></p></div>';
     delete_transient("has_post_thumbnail");
     }
     }
     
    Добавить Комментарий

    Ваш ответ

    Размещая свой ответ, вы соглашаетесь с правилами сайта.