¿Plugin WP para asignar automáticamente imagen destacada?

  • Autor Autor NateRiver
  • Fecha de inicio Fecha de inicio
N

NateRiver

Hay algun pluging que haga eso, es que no quiero estar seleccionando imagen destacada a cada post. :ambivalence:
 
Para eso puedes usar esta función, lo que hace es tomar la primera imágen del post.

functions.php
PHP:
function catch_that_image() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  $first_img = $matches [1] [0];

  if(empty($first_img)){ //Defines a default image
    $first_img = "/images/default.jpg";
  }
  return $first_img;
}

Y para llamar a la imagen:
HTML:
<img src="<?php echo catch_that_image() ?>">

:encouragement:
 
Para eso puedes usar esta función, lo que hace es tomar la primera imágen del post.

functions.php
PHP:
function catch_that_image() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  $first_img = $matches [1] [0];

  if(empty($first_img)){ //Defines a default image
    $first_img = "/images/default.jpg";
  }
  return $first_img;
}

Y para llamar a la imagen:
HTML:
<img src="<?php echo catch_that_image() ?>">

:encouragement:

Muchas gracias tengo que pegar los 2 codigos juntos ? , y en que carpeta, soy renoob en WP. :sorrow:
 
Hay tambien una forma de hacerlo directamente desde la base de datos (ahora no lo encuentro, pero si lo hago lo publico). Igualmente creo que modificando el functions como dijo [MENTION=36953]CaperucitaAzul[/MENTION] es mas facil
 
Nateriver que bueno que lo lograste podrías ayudar a otros que quieran hacer lo mismo, publica tu respuesta así este tema servirá de ayuda, gracias y saludos.
 
Para que se haga automáticamente solo agregando un código al functions es el siguiente:

Insertar CODE, HTML o PHP:
//primera imagen como destacadafunction auto_post_thumbnail() {
          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);
                                }
                           } else {
                                set_post_thumbnail($post->ID, 'ID_imagen_por_defecto');
                           }
                        }
      }
 //Ahora añadimos la función al loop
add_action('the_post', 'auto_post_thumbnail');
add_action('save_post', 'auto_post_thumbnail');
add_action('draft_to_publish', 'auto_post_thumbnail');
add_action('new_to_publish', 'auto_post_thumbnail');
add_action('pending_to_publish', 'auto_post_thumbnail');
add_action('future_to_publish', 'auto_post_thumbnail');
 
Atrás
Arriba