Skip to content

Instantly share code, notes, and snippets.

@hluaces
Last active February 12, 2019 11:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hluaces/03f05a90b200e886fc94bcc6da916db4 to your computer and use it in GitHub Desktop.
Save hluaces/03f05a90b200e886fc94bcc6da916db4 to your computer and use it in GitHub Desktop.
Snippet para crear avatares aleatorios desde un array en WordPress. Creado para adjuntar a una respuesta de un blog. El código puede añadirse a un plugin personalizado o a un fichero "functions.php". Una vez creado aparecerá la nueva opción dentro de "Ajustes → Discusión".
<?php
/**
* Snippet para avatares de WordPress aleatorios en base a un array de
* imágenes.
*
* Se asume que éstas están en ./wp-content/uploads/avatares/.
*
* Este código puede añadirse a un "functions.php" o a cualquier plugin
* personalizado.
*/
add_filter( 'avatar_defaults', 'dame_avatar_aleatorio' );
function dame_avatar_aleatorio ( $avatares )
{
/**
* Array de avatares disponibles.
*
* En este caso usamos un array, pero podríamos usar cualquier método
* dinámico para poblarlo: una API remota, leer ficheros de un directorio,
* etc.
*
* @var array
*/
$imagen = array_rand(array_flip([
'perro.jpg',
'gato.jpg',
'pez.jpg',
'puercoespin.jpg',
'tiranosaurio.jpg'
]));
/**
* La URL raíz que alberga los ficheros.
*
* En este ejemplo usamos:
* http://tld.com/wp-content/uploads/avatares/
*
* @var string
*/
$baseUrl = wp_upload_dir()['url'] . '/avatares/';
/**
* Añadimos el nuevo avatar y devolvemos
*/
$avatares[$baseUrl . $imagen] = 'Avatar aleatorio';
return $avatares;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment