jorame
¿Cómo puedo verificar si una publicación tiene una miniatura y si hace algo? Si no hace otra cosa. Esto es lo que tengo:
<?php if(have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php if ( has_post_thumbnail() ) { ?>
<a href="https://stackoverflow.com/questions/9305040/<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php
}else{
?>
<?php the_post_thumbnail(); ?>
<?php
}
?>
<?php endwhile; ?>
<?php endif; ?>
Cualquier ayuda será apreciada.
Evans
Ya tienes esto, en la linea
if ( has_post_thumbnail() )
está comprobando si la publicación tiene una miniatura, el problema es que puso un código incorrecto en la declaración else, tiene que poner algo como:
<?php if ( has_post_thumbnail() ) { ?>
<a href="https://stackoverflow.com/questions/9305040/<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php the_post_thumbnail(); ?>
HAVE THUMBNAIL DO SOMETHING
<?php
}else{
?>
DOESN'T HAVE THUMBNAIL : DO SOMETHING ELSE
<?php
}
?>
Prueba con esta línea de códigos:
<?php if(has_post_thumbnail())
{
?>
<img src="https://stackoverflow.com/questions/9305040/<?php the_post_thumbnail_url(); ?>" id="contextual" class="contextual" alt="" />
<?php
}
else{
?>
<img src="<?php echo get_template_directory_uri(); ?>/design/images/i-default.jpg" id="contextual" class="contextual" alt="" />
<?php } ?>
Para vincular las miniaturas de la publicación al enlace permanente de la publicación en un ciclo específico, use lo siguiente dentro de los archivos de plantilla de su tema:
<?php if ( has_post_thumbnail() ) : ?>
<a href="https://stackoverflow.com/questions/9305040/<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
<?php the_post_thumbnail(); ?>
</a>
<?php endif; ?>
primero VERIFIQUE su archivo functions.php para esto
if (function_exists('add_theme_support')) {
add_theme_support('post-thumbnails');
}
si no está allí, cópielo y péguelo en su archivo.
En segundo lugar, agregue esto a su functions.php, esto le permite devolver el origen de la imagen, y no solo imprimir la etiqueta img completa
function get_the_post_thumbnail_url( $post_id = NULL ) {
global $id;
$post_id = ( NULL === $post_id ) ? $id : $post_id;
$src = wp_get_attachment_image_src(get_post_thumbnail_id($post_id), 'full');
$src = $src[0];
return $src;
}
Luego, en su página de plantilla, cambie su código a algo como:
esto fue usado como imagen de fondo
<?php if ( has_post_thumbnail() ) { ?>
<div id="slider" style="background-image:url(<?php echo get_the_post_thumbnail_url($post->ID, 'large'); ?>); background-position: center center;">
</div>
<?php
}else{
?>
<img src="https://stackoverflow.com/questions/9305040/<?php bloginfo("template_directory');?>/images/blank.jpg" alt="" />
<?php
}
?>
esto debería producir un div con una imagen de fondo aplicada,
Si desea que se imprima el código de la etiqueta Full img, simplemente use uno de los siguientes.
if (has_post_thumbnail()) {
?>
<?php the_post_thumbnail(); // just the image ?>
<?php the_post_thumbnail('thumbnail'); // just the thumbnail ?>
<?php the_post_thumbnail('medium'); // just the Medium Image ?>
<?php the_post_thumbnail('large'); // just the Medium Image ?>
<?php
// adding a 200x200 height and width along with a class to it.
the_post_thumbnail(array( 200,200 ), array( 'class' => 'alignleft' ));
?>
<?php
// Adding a few classes to the medium image
the_post_thumbnail('medium', array('class' => 'alignleft another_class'));
?>
<?php
}
marty..
No aparece nada cuando lo ejecuto. Probé cosas diferentes como the_thumbnail pero aún no aparece nada
– jorame
16 de febrero de 2012 a las 3:23
¿Estás seguro de que está en el bucle?
– Dakshinamurthy Karra
16 de febrero de 2012 a las 4:28
Publique todo el conjunto de códigos con el bucle.
– Vasanthan.RP
16 de febrero de 2012 a las 5:16
Ok, acabo de publicar el código con el ciclo también.
– jorame
16 de febrero de 2012 a las 21:28