Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

En volcado de posts por cat muestre la 1a foto de cada uno

Estas en el tema de En volcado de posts por cat muestre la 1a foto de cada uno en el foro de WordPress en Foros del Web. efectivamente lo que queremos es que cuando nuestro blog haga un volcado de los posts de una categoria como este mismo por ejemplo http://polinesia2012.com/?cat=985 muestre ...
  #1 (permalink)  
Antiguo 05/01/2013, 02:47
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 9 años
Puntos: 6
En volcado de posts por cat muestre la 1a foto de cada uno

efectivamente lo que queremos es que cuando nuestro blog haga un volcado de los posts de una categoria como este mismo por ejemplo http://polinesia2012.com/?cat=985 muestre entre el link del post y el cuadro de texto la primera foto de cada uno de ellos
  #2 (permalink)  
Antiguo 06/01/2013, 16:55
Avatar de zanguanga
Moderadora
 
Fecha de Ingreso: julio-2009
Ubicación: España
Mensajes: 1.687
Antigüedad: 10 años, 10 meses
Puntos: 429
Respuesta: En volcado de posts por cat muestre la 1a foto de cada uno

Si la plantilla va preparada para eso debes usar la opción imagen destacada. Si no va preparada hay que prepararla. Aquí tienes la referencia: http://codex.wordpress.org/Function_...post_thumbnail
__________________
Mi blog personal | Mi G+
  #3 (permalink)  
Antiguo 06/01/2013, 23:30
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 9 años
Puntos: 6
Respuesta: En volcado de posts por cat muestre la 1a foto de cada uno

pero mira lo que dice que tienes que elegir una como post thumbnail y yo ya cree los posts sin imagen post thumbnail, ademas yo uso el thesis que para mi que utiliza un codigo especial , de todas maneras voy a probar con tiempo,
  #4 (permalink)  
Antiguo 08/01/2013, 06:16
Avatar de zanguanga
Moderadora
 
Fecha de Ingreso: julio-2009
Ubicación: España
Mensajes: 1.687
Antigüedad: 10 años, 10 meses
Puntos: 429
Respuesta: En volcado de posts por cat muestre la 1a foto de cada uno

Hay un plugin para generar automáticamente la imagen destacada pero quizá este código de http://www.cristalab.com/tutoriales/...ress-c107190l/ te sirva, pruébalo.

Código PHP:
Ver original
  1. //primera imagen como destacada
  2. function auto_post_thumbnail() {
  3.           global $post;
  4.           $already_has_thumb = has_post_thumbnail($post->ID);
  5.               if (!$already_has_thumb)  {
  6.               $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
  7.                           if ($attached_image) {
  8.                                 foreach ($attached_image as $attachment_id => $attachment) {
  9.                                 set_post_thumbnail($post->ID, $attachment_id);
  10.                                 }
  11.                            } else {
  12.                                 set_post_thumbnail($post->ID, 'ID_imagen_por_defecto'); //aqui pon la ID de la imagen por defecto si quieres una imagen por defecto cuando no haya imagenes que destacar. Si no quieres ninguna modifica el codigo a tu gusto.
  13.                            }
  14.                         }
  15.       }
  16.  
  17. add_action('the_post', 'auto_post_thumbnail');
  18. add_action('save_post', 'auto_post_thumbnail');
  19. add_action('draft_to_publish', 'auto_post_thumbnail');
  20. add_action('new_to_publish', 'auto_post_thumbnail');
  21. add_action('pending_to_publish', 'auto_post_thumbnail');
  22. add_action('future_to_publish', 'auto_post_thumbnail');
__________________
Mi blog personal | Mi G+
  #5 (permalink)  
Antiguo 14/01/2013, 12:20
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 9 años
Puntos: 6
Respuesta: En volcado de posts por cat muestre la 1a foto de cada uno

voy a meterle el plugin luego y te digo, respecto al codigo donde va? en el functions.php del tema?

Última edición por destinopolinesia; 14/01/2013 a las 12:30
  #6 (permalink)  
Antiguo 14/01/2013, 16:39
Avatar de zanguanga
Moderadora
 
Fecha de Ingreso: julio-2009
Ubicación: España
Mensajes: 1.687
Antigüedad: 10 años, 10 meses
Puntos: 429
Respuesta: En volcado de posts por cat muestre la 1a foto de cada uno

Sí, en functions.php.
__________________
Mi blog personal | Mi G+
  #7 (permalink)  
Antiguo 14/01/2013, 23:42
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 9 años
Puntos: 6
Respuesta: En volcado de posts por cat muestre la 1a foto de cada uno

el plugin no me funcionaba pero me fui al soporte del mismo en wp y ya me lo reconoce http://wordpress.org/support/topic/wont-install-4

el problema es que no hace nada al clickear en una categoria, sea cual sea la opcion del tema thesis elegida: 1) title 2) everythings teaser, 3) same as your home page o 4) the excerpt, no salen fotos.

que es lo que dicen en soporte que hay que hacer para que sea casi perfecto, que es eso de "Added sort method below to the image selection, and now it's ALMOST perfect:

'orderby' => 'menu_order',"????

Última edición por destinopolinesia; 15/01/2013 a las 00:30
  #8 (permalink)  
Antiguo 16/01/2013, 18:30
Avatar de zanguanga
Moderadora
 
Fecha de Ingreso: julio-2009
Ubicación: España
Mensajes: 1.687
Antigüedad: 10 años, 10 meses
Puntos: 429
Respuesta: En volcado de posts por cat muestre la 1a foto de cada uno

Entre que la página del plugin viene en árabe y que nunca lo he usado me estoy perdiendo.

Acabo de rescatar un código que yo usé y funcionaba. Te lo paso por si quieres probar.

en functions.php:

Código PHP:
Ver original
  1. //no tener que elegir miniatura
  2. function vp_get_thumb_url($text) {
  3.     global $post;
  4.     $imageurl="";        
  5.  
  6.     // extract the thumbnail from attached imaged
  7.     $allimages =&get_children('post_type=attachment&post_mime_type=image&post_parent=' . $post->ID );        
  8.  
  9.     foreach ($allimages as $img) {                
  10.         $img_src = wp_get_attachment_image_src($img->ID);
  11.         break;                      
  12.         }
  13.  
  14.     $imageurl=$img_src[0];
  15.  
  16.     // try to get any image
  17.     if (!$imageurl) {
  18.     preg_match('/<\s*img [^\>]*src\s*=\s*[\""\']?([^\""\'>]*)/i' ,  $text, $matches);
  19.     $imageurl=$matches[1];
  20.     }
  21.  
  22.     // try to get youtube video thumbnail
  23.     if (!$imageurl) {
  24.     preg_match("/([a-zA-Z0-9\-\_]+\.|)youtube\.com\/watch(\?v\=|\/v\/)([a-zA-Z0-9\-\_]{11})([^<\s]*)/", $text, $matches2);
  25.  
  26.     $youtubeurl = $matches2[0];
  27.     if ($youtubeurl)
  28.     $imageurl = "http://i.ytimg.com/vi/{$matches2[3]}/1.jpg";
  29.     else preg_match("/([a-zA-Z0-9\-\_]+\.|)youtube\.com\/(v\/)([a-zA-Z0-9\-\_]{11})([^<\s]*)/", $text, $matches2);
  30.  
  31.     $youtubeurl = $matches2[0];
  32.     if ($youtubeurl)
  33.     $imageurl = "http://i.ytimg.com/vi/{$matches2[3]}/1.jpg";
  34.     }
  35.  
  36.     return $imageurl;
  37. }

En la plantilla category.php o en la que uses para volcar el post:

Código PHP:
Ver original
  1. <?php {  // este codigo corresponde a la funcion no tener que elegir miniatura en archivo functions.php
  2.             global $post;
  3.             $thumb=vp_get_thumb_url($post->post_content);
  4.             if ($thumb!='') echo '<img class="attachment-thumbnail" src="'.$thumb.'" alt="'. get_the_title().'" />';
  5.             } ?>
__________________
Mi blog personal | Mi G+
  #9 (permalink)  
Antiguo 17/01/2013, 08:25
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 14 años, 10 meses
Puntos: 638
Respuesta: En volcado de posts por cat muestre la 1a foto de cada uno

En Twentyten viene un código que funciona perfectamente, y no es tan complicado...

Código PHP:
Ver original
  1. <?php
  2. $images = get_children( array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' => 'ASC', 'numberposts' => 999 ) );
  3. if ( $images ) :
  4.     $total_images = count( $images );
  5.     $image = array_shift( $images );
  6.     $image_img_tag = wp_get_attachment_image( $image->ID, 'thumbnail' );
  7. ?>
  8.     <div class="gallery-thumb">
  9.         <a class="size-thumbnail" href="<?php the_permalink(); ?>"><?php echo $image_img_tag; ?></a>
  10.     </div><!-- .gallery-thumb -->
  11.     <p><em><?php printf( _n( 'This gallery contains <a %1$s>%2$s photo</a>.', 'This gallery contains <a %1$s>%2$s photos</a>.', $total_images, 'twentyten' ),
  12.             'href="' . get_permalink() . '" title="' . esc_attr( sprintf( __( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ) ) . '" rel="bookmark"',
  13.             number_format_i18n( $total_images )
  14.         ); ?></em></p>
  15. <?php endif; ?>

Eso lo pones en category.php... Saludos.

PD: Por casualidad Thesis es de pago???
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #10 (permalink)  
Antiguo 19/01/2013, 20:29
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 9 años
Puntos: 6
Respuesta: En volcado de posts por cat muestre la 1a foto de cada uno

si, thesis es de pago, porque?
  #11 (permalink)  
Antiguo 19/01/2013, 21:57
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 9 años
Puntos: 6
Respuesta: En volcado de posts por cat muestre la 1a foto de cada uno

zanguanga he encontrado en Internet el codigo del Thesis para que muestre las images thumbnail en el volcado de categorias y es este: http://diywpblog.com/thesis-tutorial...umbnail-image/

Como por si solo no funciona con la primera imagen pues esta tiene que haber sido marcada como thumbnail le he antecedido en el editor del funcions del tesis este primer codigo que me pasaste

//primera imagen como destacada
function 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&numb erposts=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'); //aqui pon la ID de la imagen por defecto si quieres una imagen por defecto cuando no haya imagenes que destacar. Si no quieres ninguna modifica el codigo a tu gusto.
}
}
}

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');


La cosa es que como veras en esta prueba no funciona con todos los posts no se porque http://polinesia2012.com/category/ta...olinos-bucles/

Última edición por destinopolinesia; 19/01/2013 a las 22:13
  #12 (permalink)  
Antiguo 20/01/2013, 00:52
 
Fecha de Ingreso: mayo-2011
Mensajes: 167
Antigüedad: 9 años
Puntos: 6
Respuesta: En volcado de posts por cat muestre la 1a foto de cada uno

Cita:
Iniciado por rogertm Ver Mensaje
En Twentyten viene un código que funciona perfectamente, y no es tan complicado...

Código PHP:
Ver original
  1. <?php
  2. $images = get_children( array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' => 'ASC', 'numberposts' => 999 ) );
  3. if ( $images ) :
  4.     $total_images = count( $images );
  5.     $image = array_shift( $images );
  6.     $image_img_tag = wp_get_attachment_image( $image->ID, 'thumbnail' );
  7. ?>
  8.     <div class="gallery-thumb">
  9.         <a class="size-thumbnail" href="<?php the_permalink(); ?>"><?php echo $image_img_tag; ?></a>
  10.     </div><!-- .gallery-thumb -->
  11.     <p><em><?php printf( _n( 'This gallery contains <a %1$s>%2$s photo</a>.', 'This gallery contains <a %1$s>%2$s photos</a>.', $total_images, 'twentyten' ),
  12.             'href="' . get_permalink() . '" title="' . esc_attr( sprintf( __( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ) ) . '" rel="bookmark"',
  13.             number_format_i18n( $total_images )
  14.         ); ?></em></p>
  15. <?php endif; ?>

Eso lo pones en category.php... Saludos.

PD: Por casualidad Thesis es de pago???

yo creo que este codigo es para una plantilla especifica no, la has probado en otros temas que no sean el twentyten?
  #13 (permalink)  
Antiguo 21/01/2013, 11:06
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 14 años, 10 meses
Puntos: 638
Respuesta: En volcado de posts por cat muestre la 1a foto de cada uno

Cita:
Iniciado por destinopolinesia Ver Mensaje
si, thesis es de pago, porque?
Ah! pues porque no se le da soporte a themes de pago en estos foros... http://www.forosdelweb.com/f118/no-d...s-pago-798431/

Saludos.
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose

Etiquetas: blog, cada, foto, post, posts, volcado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 22:52.