Tous les commentaires sur mon site sont anonymes et sans inscription. Pour poster un commentaire, vous devez renseigner les champs nom (pas obligatoirement) et le texte de votre commentaire (obligatoirement).
J'ai le problème avec les avatars. Tous sont générés de la même manière.
Que dois-je faire pour les rendre différents?
Il existe deux façons de personnaliser l'avatar par défaut:
get_avatar()
.Commençons par la première option; cela prend un peu plus vite.
Il existe un filtre 'avatar_defaults'
. Vous pouvez ajouter plus d'avatars ici.
Vous obtenez un tableau d’images par défaut dans lesquelles la clé est une URL et la valeur, le nom visible.
add_filter( 'avatar_defaults', 'wpse_58373_kitten_avatar' );
/**
* Add a new default avatar.
*
* @param array $avatar_defaults Key = URL, Value = Visible name.
* @return array
*/
function wpse_58373_kitten_avatar( $avatar_defaults )
{
$avatar_defaults['http://placekitten.com/32/32'] = 'Kitty';
return $avatar_defaults;
}
get_avatar()
.get_avatar()
recherche d'abord une option nommée 'avatar_default'
. Nous pouvons nous connecter à 'pre_option_avatar_default'
et renvoyer une URL personnalisée (aléatoire).
add_filter( 'pre_option_avatar_default', 'wpse_58373_custom_default_avatar');
/**
* Return a random image URL
*/
function wpse_58373_custom_default_avatar()
{
/* We use images from WP here, you should change this and put some default
* images into your theme or plugin directory.
*/
$base_url = admin_url( 'images' ) . '/';
$images = array ( 'wp-logo-vs.png', 'wpspin_dark.gif', 'yes.png' );
$Rand = Rand( 0, ( count( $images ) - 1 ) );
return $base_url . $images[ $Rand ];
}
Comme vous pouvez le constater, vous devriez renvoyer une image dont la taille correspond à celle de l’avatar de votre thème. :)
Re: génération d’avatar aléatoire, c’était une réponse extrêmement utile et fonctionnait avec une modification mineure - la fonction en question nécessitait un argument à passer. Sans l'argument, le code renvoyé incluait un fouillis de code html contenant à la fois l'URL souhaitée de l'image et l'URL de l'icône par défaut de gravitar. Je l'ai changé de ça:
wpse_58373_custom_default_avatar
()
pour ça:
wpse_58373_custom_default_avatar($value)
et cela a semblé générer l'URL de l'image sans le fouillis. Pour plus de facilité, le code final, avec l’ajout de get_template_directory_uri () pour cibler le thème plutôt que le dossier admin, contient des éléments suivants:
// Random Avatar
add_filter( 'pre_option_avatar_default', 'mind_bullets_default_avatar' );
function mind_bullets_default_avatar ( $value ) {
$tix_array = array ( 'Amer_Cyborg.jpg', 'Die_hard_3.jpg', 'Thing.jpg' );
// Include randomizer in url generator
return get_template_directory_uri().'/images/Avatars/'.$tix_array [Rand( 0, ( count( $tix_array ) - 1 ) )];
}
J'espère permettre aux utilisateurs de choisir le leur bientôt, mais pour ceux qui veulent juste commenter, l'apparence du site reste cohérente.