Mika MAtikainen

Apr 15, 2020 · 4 min read

How do I require a featured image for my posts in WordPress?


add_action('save_post', 'wpsc_wpds_check_thumbnail');
add_action('admin_notices', 'wpsc_wpds_thumbnail_error'); 
function wpsc_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', 'wpsc_wpds_check_thumbnail');
} else {
delete_transient( "has_post_thumbnail" );
}
}
 
function wpsc_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">
 
You must select Featured Image. Your Post is saved but it can not be published.
 
</div>
";
delete_transient( "has_post_thumbnail" );
} 
} 

Subscribe To Our Newsletter

Join our mailing list to receive the latest news and updates from our team.

You have Successfully Subscribed!

Share This