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

¿Cómo muestro un gravatar aleatorio?

Estas en el tema de ¿Cómo muestro un gravatar aleatorio? en el foro de WordPress en Foros del Web. Debe ser sencillo, pero al no tener ni idea de PHP, no sé cómo montármelo. Quiero que, en caso de que un comentario no tenga ...
  #1 (permalink)  
Antiguo 20/10/2008, 10:01
Avatar de Artdeco  
Fecha de Ingreso: abril-2005
Ubicación: Barcelona
Mensajes: 165
Antigüedad: 19 años
Puntos: 1
Pregunta ¿Cómo muestro un gravatar aleatorio?

Debe ser sencillo, pero al no tener ni idea de PHP, no sé cómo montármelo.

Quiero que, en caso de que un comentario no tenga un avatar definido, se muestre uno aleatorio. Esto es lo que tengo en el comments.php de mi plantilla:

Código PHP:
<div class="avatar"><?php echo get_avatarget_comment_author_email(), '53''http://www.miweb.com/noavatar.png' ); ?></div>
Ese tercer valor, el que dice que se muestre la imagen noavatar.png en caso de no haber avatar, así que me gustaría saber qué debo hacer para mostrar una imagen aleatoria en caso de no tener un avatar.

Podría implementar ésto. Tengo mi carpeta llena de avatares preparados para mostrar, pero claro, no sé integrarlos en ese trozo del comments.php.

Gracias.
  #2 (permalink)  
Antiguo 21/10/2008, 19:37
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: ¿Cómo muestro un gravatar aleatorio?

El código que dejas es bastante simple y esta explicado, si hicieras un esfuerzo por entenderlo, lo lograrías... solo hay que leer :-/... pero bueno.

No me gusta del todo, trabaja con una extensión de imagen, los nombres tienen que tener un formato especial (números) y además tienes que especificar manualmente la cantidad de imágenes que hay... pudiendo hacerlo más simple, algo como esto:

Código php:
Ver original
  1. <?php
  2. /* Especifica el directorio donde están las imágenes. No hace mayor validación. */
  3. $directorio = "/ruta/a/las/imagenes"
  4.  
  5. $archs = array();
  6. if ($d = opendir($directorio)) {
  7.     while (false !== ($arch = readdir($d))) {
  8.         if($arch != '.' || $arch != '..') {
  9.             array_push($archs, $arch);
  10.         }
  11.     closedir($d);
  12. }
  13. $nImg = $archs[mt_rand(0, count($archs)-1)];
  14. /* $nImg sería el nombre del archivo, solo faltaría concatenar en donde se necesite */
  15. ?>
  16. <div class="avatar"><?php echo get_avatar( get_comment_author_email(), '53', 'http://www.miweb.com/'.$nImg ); ?></div>

Algo así (tampoco lo he probado). Solo especificarías el directorio y concatenarías en la función get_avatar(), que no me parece correcto sea una URL absoluta, pero eso es otro tema. Suerte
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 08:44.