Foros del Web » Programando para Internet » PHP »

Mostrar imagen si se cumple...Condiciones

Estas en el tema de Mostrar imagen si se cumple...Condiciones en el foro de PHP en Foros del Web. Hola a todos! Aqui ando con un problema nuevamente. Estamos armando un sitio con unos amigos basados en Wordpress (Si no posteo esto en Wordpress ...
  #1 (permalink)  
Antiguo 25/01/2009, 11:29
 
Fecha de Ingreso: septiembre-2008
Mensajes: 27
Antigüedad: 15 años, 7 meses
Puntos: 0
Mostrar imagen si se cumple...Condiciones

Hola a todos!


Aqui ando con un problema nuevamente.

Estamos armando un sitio con unos amigos basados en Wordpress (Si no posteo esto en Wordpress es porque este problema no creo sea específico del CMS sino netamente de programación en php). El problema es que, el theme que estamos usando no es lo suficientemente flexible y "no nos deja postear lo que queramos".

El theme, por defecto viene hecho para colocar una imagen por cada post, por lo que SIEMPRE aparece un molestoso cuadro que "reclama" por una foto. Para que la foto aparezca hay que usar los "custom fields" y especificar el valor "thumbnail" y colocar la dirección de la imagen.

El problema, es que nosotros queremos que aparezca la foto cuando nosotros queramos (o el cuadro) o cualquier otro contenido que nos apetezca, como videos.

El famoso cuadrito es así:



El famoso cuadrito, es creado por css. Entonces, si elimine del código el <div class=....> que crea el cuadro, este deja de aparecer, PERO, pasa esto:




Si se fijan, al eliminar el cuadro, la plantilla pierde el formato, y se juntan los títulos y el texto pasa de largo..en resumen, no se respeta el formato de post.


Buscando en Internet, encontré este código para hacer que la imágen aparezca si, y solo si, hay en el post:

Código:
<?php
$image = get_post_meta($post->ID, 'thumbnail', true);
$link = get_permalink($post->ID);
if ($image == '') {
echo '';
}
else {
echo  '<a href="'.$link.'" title="'.$post->post_title.'"><img src="'.$image.'" alt="" /></a>';
}
?>

Por otra parte, el código original es:

Código:
<?php $image = get_post_meta($post->ID, 'thumbnail', true); ?>
<?php $link = get_post_meta($post->ID, 'link', true); ?>
<a href="<?php echo $link; ?>"><img src="<?php echo $image; ?>" alt="" /></a>

Entonces, la pregunta es. Cómo puedo hacer para que las imágenes aparezcan sólo cuando estas existen o cuando las especifico en el "custom field", eliminar el cuadrito y que no se pierda el formato?

En el fondo, cómo lo dejo como sería un formato de post "normal".


Muchas gracias desde ya por su ayuda!!!
  #2 (permalink)  
Antiguo 25/01/2009, 18:13
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Mostrar imagen si se cumple...Condiciones

Tu script:

Código PHP:
$image get_post_meta($post->ID'thumbnail'true);
$link get_permalink($post->ID);
if (
$image == '') {
echo 
'';
}
else {
echo  
'<a href="'.$link.'" title="'.$post->post_title.'"><img src="'.$image.'" alt="" /></a>';


te recomiendo que revises el codigo desde su nacimiento porque a lo mejor puede que ahi este el inconveniente pero yo aqui veo innecesario el echo que le procede a la sintaxis de if y yo lo haria al reves pero igualmente te funciona como lo tienes
Código PHP:
$image get_post_meta($post->ID'thumbnail'true);
$link get_permalink($post->ID);
if (
$image != '') {
echo  
'<a href="'.$link.'" title="'.$post->post_title.'"><img src="'.$image.'" alt="" /></a>';
} else {

Suerte
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:43.