Last active
February 12, 2019 11:13
-
-
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".
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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