X

Cómo requerir una imagen destacada antes de poder publicar una entrada

Snippets de IsItWP

¿Está buscando una forma de requerir una imagen destacada antes de poder publicar una entrada? Este fragmento requerirá que haya agregado una imagen destacada antes de que su entrada pueda ser publicada. Si intenta publicar una entrada sin una imagen destacada después de agregar este fragmento, recibirá este mensaje: “Debe seleccionar Imagen destacada. Su entrada se guarda pero no se puede publicar.”

Instrucciones:

Todo lo que tienes que hacer es agregar este código al archivo functions.php de tu tema o a 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 agregas fragmentos de código en WordPress, consulta nuestra guía sobre cómo copiar / pegar fragmentos de código correctamente en WordPress, para que no rompas accidentalmente tu sitio.

Si te gustó este fragmento de código, considera echar un vistazo a nuestros otros artículos en el sitio como: Los 7 mejores plugins de galería de WordPress comparados.

Comentarios   Deja una respuesta

  1. ¡Hola! ¿Funciona para la imagen destacada de Woocommerce?

  2. ¿Podemos hacerlo también para el título de la entrada?

    1. Es posible que pueda verificar si se ha agregado el título utilizando la función get_the_title().

  3. Esto está creando demasiados borradores automáticos no deseados en el sistema

    1. Hola Visal,
      ¿Por qué se están creando borradores automáticos?
      ¿Resolviste este problema?
      Saludos

  4. Gracias

  5. Hola Kevin. Estoy creando un plugin de funciones personalizadas donde agregué este fragmento y parece funcionar bien hasta que voy a eliminar un borrador/entrada. No puedo eliminarlo, ya que solo me da el mensaje “Debe seleccionar una Imagen destacada. Su entrada se guarda pero no se puede publicar.” Tengo que eliminar el código para poder eliminar una entrada.

    1. Puse el código de la función (wpds_check_thumbnail) dentro de:

      if ( ‘trash’ != get_post_status( $post_id ) ) { //Código aquí }

  6. ¡Genial! Esto es bastante útil para mí en este momento. ¿Se puede ajustar para que funcione solo en un tipo de publicación o categoría determinada?

Agrega un comentario

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

Lista de verificación para lanzar WordPress

La lista de verificación definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de verificación para el lanzamiento de tu próximo sitio web de WordPress en un práctico ebook.
¡Sí, envíame el eBook gratis!