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

Una imagen por categoria

Estas en el tema de Una imagen por categoria en el foro de WordPress en Foros del Web. Necesito un codigo para que si la entrada pertenece a cierta categoria aparesca una imagen. Me pasaron este codigo : @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver ...
  #1 (permalink)  
Antiguo 10/11/2011, 14:40
Avatar de demeNcys  
Fecha de Ingreso: junio-2009
Ubicación: Buenos Aires
Mensajes: 147
Antigüedad: 15 años, 6 meses
Puntos: 9
Pregunta Una imagen por categoria

Necesito un codigo para que si la entrada pertenece a cierta categoria aparesca una imagen.

Me pasaron este codigo :
Código PHP:
Ver original
  1. $paises = array ('españa' => 'www.rutadelaimagen/espanha.jpg', 'eeuu' => 'www.rutadelaimagen/eeuu.jpg');
  2. foreach ($paises as $pais => $imagen){
  3. echo 'if(is_category('.($pais).')) {'. '<br />';
  4. echo '<img src="http://'.$imagen. '}'. '" tag="'. $pais. '" border="0"> }'. '<br />';
  5. }

pero aparece en cada entrada:
"if(is_category(españa)) {
}
if(is_category(eeuu)) {
}"

Intente modificar el codigo haciendo esto:
Código PHP:
Ver original
  1. <?php
  2. $paises = array ('francia' => 'fr.gif', 'estados-unidos' => 'eu.gif');
  3. foreach ($paises as $pais => $imagen);
  4. ?>
  5. *
  6. <?php if (is_category('.$pais.')) { echo 'asdasd <img src="http://direccion.com/flags/'.$imagen. '" width="18" height="12" alt="" class="iconpais">'; } ?>

Pero directamente no aparece nada, si en ves de $pais e $imagen pongo la ruta de la imagen y el nombre del pais, si aparece la imagen (por lo que el codigo de is_category esta bien escrito).

Alguna solucion?
  #2 (permalink)  
Antiguo 10/11/2011, 15:00
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 8 meses
Puntos: 656
Respuesta: Una imagen por categoria

Es que debería ser algo como esto:

Código PHP:
Ver original
  1. <?php if (in_category( 'EEUU' )) { ?>
  2. <img src="ruta/bandera-EEUU.jpg" width="22" height="22" />
  3. <?php } elseif (in_category('Honduras')) { ?>
  4. <img src="ruta/bandera-EEUU.jpg" width="22" height="22" />
  5. <?php } elseif .... ?>

Obviamente los puntos suspensivos son para que el listado lo sigas como te parezca. Esto dentro del loop. Son muchos países o sólo algunos?

Alguien tiene una sugerencia diferente?
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #3 (permalink)  
Antiguo 10/11/2011, 15:06
Avatar de demeNcys  
Fecha de Ingreso: junio-2009
Ubicación: Buenos Aires
Mensajes: 147
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: Una imagen por categoria

Cita:
Iniciado por Nekko Ver Mensaje
Es que debería ser algo como esto:

Código PHP:
Ver original
  1. <?php if (in_category( 'EEUU' )) { ?>
  2. <img src="ruta/bandera-EEUU.jpg" width="22" height="22" />
  3. <?php } elseif (in_category('Honduras')) { ?>
  4. <img src="ruta/bandera-EEUU.jpg" width="22" height="22" />
  5. <?php } elseif .... ?>

Obviamente los puntos suspensivos son para que el listado lo sigas como te parezca. Esto dentro del loop. Son muchos países o sólo algunos?

Alguien tiene una sugerencia diferente?
Claro, yo habia pensado algo asi, pero tengo que escribir 40 paises y se me va a hacer un choclo de codigo, va a ser muy largo. Por eso habia pedido en otro foro que si habia alguna manera de simplificar el codigo, y me habian escrito lo que estaba ahi arriba, que a simple vista me parecio muy bueno ya que podia escribir los paises 1 sola ves y desp llamarlos en cada entrada. sin tener que escribir tanto.

No hay alguna forma de hacerlo de esa manera?

EDIT: SE RESOLVIO ACA: http://www.forosdelweb.com/f18/como-...codigo-956675/

Última edición por demeNcys; 10/11/2011 a las 20:06

Etiquetas: php, categorias
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 18:16.