X

Cómo exigir una imagen destacada antes de publicar una entrada

Snippets by IsItWP

¿Está buscando una manera de requerir una imagen destacada antes de poder publicar un post? Este fragmento requerirá que hayas añadido una imagen destacada antes de poder publicar tu entrada. Si intentas publicar una entrada sin una imagen destacada después de añadir este fragmento, recibirás este mensaje: “Debe seleccionar Imagen destacada. Tu post está guardado pero no puede publicarse”.

Instrucciones:

Todo lo que tienes que hacer es añadir este código al archivo functions.php de tu tema o en un plugin específico del sitio:

add_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>You must select Featured Image. Your Post is saved but it can not be published.</strong></p></div>";
        delete_transient( "has_post_thumbnail" );
    }

}

Nota: Si es la primera vez que añade fragmentos de código en WordPress, consulte nuestra guía sobre cómo copiar / pegar correctamente fragmentos de código en WordPress, para no romper accidentalmente su sitio.

Si te ha gustado este fragmento de código, por favor, considere revisar nuestros otros artículos en el sitio como: 7 Mejores Plugins de Galería para WordPress Comparados.

Comentarios   Deja una respuesta

  1. Daniel Violante febrero 18, 2021 en 1:45 pm

    Hi! does it works for Woocommerce featured image?

  2. can we make also for post title

    1. You may be able to check if the title has been added by using the get_the_title() function.

  3. This is creating so many unwanted auto drafts in the system

    1. Hi Visal,
      Why is creating auto-drafts?
      Did you solve this problem?
      Regards

  4. Thanks

  5. Hey Kevin. I am creating a custom functions plugin where I added this snippet and it seems to work fine until I go to delete a draft/post. I am not able to delete as it just gives me the “You must select a Featured Image. Your Post is saved but it can not be published.” I have to remove the code to be able to delete a post.

    1. I put the function (wpds_check_thumbnail)’s code inside of:

      if ( ‘trash’ != get_post_status( $post_id ) ) { //Code here }

  6. Great! This is quite useful for me at the moment. Is this adjustable to only work on a certain post-type or category?

Añadir un comentario

Nos alegra que haya decidido dejar un comentario. Tenga en cuenta que todos los comentarios se moderan de acuerdo con nuestra política de privacidad , y que todos los enlaces son nofollow. NO utilice palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

WordPress Launch Checklist

La lista definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de comprobación para el lanzamiento de su próximo sitio web de WordPress en un práctico ebook.
Sí, envíeme el ¡gratuito!