• <?php
    
    add_action('save_post', 'evolution_check_thumbnail');
    add_action('admin_notices', 'evolution_thumbnail_error');
    
    function evolution_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', 'evolution_check_thumbnail');
            // update the post set it to draft
            wp_update_post(array('ID' => $post_id, 'post_status' => 'draft'));
            add_action('save_post', 'evolution_check_thumbnail');
        } else {
            delete_transient( "has_post_thumbnail" );
        }
    }
    function evolution_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>You have to assign a post image. Without a post image, the article can't be published.</strong></p></div>";
            delete_transient( "has_post_thumbnail" );
        }
    }

    https://www.noupe.com/wordpress/the-26-most-useful-and-most-functional-wordpress-snippets.html

  • You must be logged in to reply to this topic.