Problema con imagenes destacadas

Estado
No está abierto para más respuestas.

websgp

Moderador
Miembro del equipo
Usuario de Bronce
Mensajes
3,724
Puntuación de reacción
13
Llevo todo el dia liado con las imagenes destacadas del theme BeeGee, el problema es que este theme usa timthumb que en mi hosting por lo que sea no funciona, la solucion era sustituir esto en loop_resume.php
PHP:
<img src="<?php echo get_bloginfo('template_url')?>/thumb/timthumb.php?src=<?php echo catch_that_image() ?>&w=227&h=136" class="first_img"/>
por
PHP:
<img src="<?php echo catch_that_image() ?>" class="first_img"/>
que no es del todo correcto porque llama a esta función
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;
}
que define una imagen por defecto para todos los artículos, una chapuza del autor del theme, lo logico seria mostrar la imagen destacada de cada artículo
Bien, yo he peusto esto que no usa esa función
PHP:
<?php
        // La funcion Post Thumbnail.
         if ( function_exists("has_post_thumbnail") && has_post_thumbnail() ) { the_post_thumbnail(array(200,160), array("class" => "topleft post_thumbnail")); }
        //Post Thumbnail Fin
        ?>
con este codigo, se muestran las imagenes destacadas, pero no como debe ser, yo quiero mostrar la imagen junto al resmen del artículo, pero no hay manara, llevo todo el dia y no he conseguido nada, siempre queda encima del extracto del artículo.
 

lobogris

Platino
Usuario de Bronce
Mensajes
1,537
Puntuación de reacción
0
La función catch_that_image() no define una imagen destacada por defecto, lo que está haciendo es recoger la primera imagen del post y si no hay ninguna establecer una por defecto, puedes hacer algo así:

PHP:
if ( get_the_post_thumbnail($post_id) != '' )    
    echo the_post_thumbnail(); 
else   
    echo '<img src="'.catch_that_image();.'" alt="" />';

Lo que resultará en que si no has establecido una imagen destacada, buscará la primera imagen del post y en caso de que no haya establecerá una por defecto
 

websgp

Moderador
Miembro del equipo
Usuario de Bronce
Mensajes
3,724
Puntuación de reacción
13
Con ese codigo sigo en las mismas, y además las imagenes salen con su tamaño original. Lo que quiero es que la imagen destacada salga al lado del extracto del artículo y no encima.
 

lobogris

Platino
Usuario de Bronce
Mensajes
1,537
Puntuación de reacción
0
Con ese codigo sigo en las mismas, y además las imagenes salen con su tamaño original. Lo que quiero es que la imagen destacada salga al lado del extracto del artículo y no encima.
Vamos a ver, PHP no te va a colocar la imagen al lado, eso deberás hacerlo con HTML y CSS. Si quieres un tamaño especifíca en the_post_thumbnail el tamaño, Wordpress trae 3 por defecto, puedes definir más en functions.php, sacado de la documentación:

PHP:
the_post_thumbnail();                  // without parameter -> 'post-thumbnail'  

the_post_thumbnail('thumbnail');       // Thumbnail (default 150px x 150px max)
 the_post_thumbnail('medium');          // Medium resolution (default 300px x 300px max) 
the_post_thumbnail('large');           // Large resolution (default 640px x 640px max) 
the_post_thumbnail('full');            // Full resolution (original size uploaded)  

the_post_thumbnail( array(100,100) );  // Other resolutions

Y sino te paso una función para devuelve la url de una imagen dentro del loop, a secas, yo la utilizo para otra cosa pero te servirá para meter la url dentro de la etiqueta img y definir el tamaño en html:

PHP:
   /**
    * Get thumbnail src
    *
    * @return url
    *
    */

    function oece_get_thumb_url() {
        $min_id = get_post_thumbnail_id();
        $min_url = wp_get_attachment_image_src($min_id,'post-thumbnail');
        return $min_url[0];
    }
 

websgp

Moderador
Miembro del equipo
Usuario de Bronce
Mensajes
3,724
Puntuación de reacción
13
Ya se que PHP no va a colocar la imagen al lado del extracto, es que es cosa del HTML y CSS, pero ese es el problema, no se hacerlo.
 

lobogris

Platino
Usuario de Bronce
Mensajes
1,537
Puntuación de reacción
0
Ya se que PHP no va a colocar la imagen al lado del extracto, es que es cosa del HTML y CSS, pero ese es el problema, no se hacerlo.
Pues es tan fácil como colocar la imagen dentro de la caja de tu excerpt...
 
Estado
No está abierto para más respuestas.
Arriba