SummArg | Cursos y recursos para webmasters

24/09/2012

Marcar la primer imagen encontrada como destacada

La función the_post_thumbnail() de WordPress representó un gran avance para los desarrolladores de themes, ya que nos permite utilizar con facilidad miniaturas de cualquier tamaño que podemos especificar desde el functions.php con add_image_size() y podemos olvidarnos para siempre de pasar la URL por un custom field como hicimos durante tantos tiempo.

Ahora el usuario simplemente debe subir una imagen para acompañar la entrada y antes de insertarla en el post debe clickear en un botón que indica “usar como imagen destacada“. Existe un modo de evitar esta acción y lograr que WordPress busque la primer imagen subida en una entrada y esa sea marcada como destacada automáticamente.

Para ello colocamos el siguiente código en nuestro functions.php y problema resuelto.

function autoset_featured() {
          global $post;
          $already_has_thumb = has_post_thumbnail($post->ID);
              if (!$already_has_thumb)  {
              $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
                          if ($attached_image) {
                                foreach ($attached_image as $attachment_id => $attachment) {
                                set_post_thumbnail($post->ID, $attachment_id);
                                }
                           }
                        }
      }  //end function
add_action('the_post', 'autoset_featured');
add_action('save_post', 'autoset_featured');
add_action('draft_to_publish', 'autoset_featured');
add_action('new_to_publish', 'autoset_featured');
add_action('pending_to_publish', 'autoset_featured');
add_action('future_to_publish', 'autoset_featured');

Visto en WPForce

Dejar un comentario

  1. Excelente, funciono a la perfeccion!

    Pero tengo otro problema, existe alguna forma de poner como imagen destacada una imagen subida desde otro host?

    Porque yo por ejemplo las cargo de photobucket pero no puedo hacer que sean imagenes destacadas..

    saludos

  2. francisco

    Buenos días,

    necesito cambiar las url´s de destino en imágenes destacadas, ¿es posible realizar esto que te comento?

    Gracias y saludos

Dejar un comentario