Je voudrais pirater la valeur par défaut Commentaires récents widget pour afficher également l'avatar de commenter.
La modification devrait être très facile, si je change directement le code dans default-widgets.php
if ( $comments ) {
foreach ( (array) $comments as $comment) {
$output .= '<li class="recentcomments">' . /* translators: comments widget: 1: comment author, 2: post link */ sprintf(_x('%1$s on %2$s', 'widgets'), get_comment_author_link(), '<a href="' . esc_url( get_comment_link($comment->comment_ID) ) . '">' . get_the_title($comment->comment_post_ID) . '</a>') . get_avatar($comment->user_id , 20) . '</li>';
}
}
mais je n'aime pas modifier les fichiers de base et je préférerais une façon plus orthodoxe de le mettre en œuvre.
Comment puis-je le faire?
On dirait que vous devez juste créer un autre widget dans un plugin. Copiez donc le code complet à partir du fichier de widgets par défaut, modifiez le nom de la classe, puis modifiez simplement le code que vous souhaitez modifier.
class YOUR NEW WIDGET NAME extends WP_Widget {
// ...
foreach ( (array) $comments as $comment) {
$output .= '<li class="recentcomments">' . /* translators: comments widget: 1: comment author, 2: post link */ sprintf(_x('%1$s on %2$s', 'widgets'), get_comment_author_link(), '<a href="' . esc_url( get_comment_link($comment->comment_ID) ) . '">' . get_the_title($comment->comment_post_ID) . '</a>') . '</li>';
}
// ...
}
Ensuite, il vous suffit d’enregistrer le nouveau widget:
add_action( 'widgets_init', 'register_my_widget' );
function register_my_widget() {
register_widget ( YOUR NEW WIDGET NAME );
}
Tout cela devrait probablement aller dans un plugin pour ne pas perdre votre widget lorsque vous changez de thème.
Plus d'informations:
http://xavisys.com/wordpress-widget/
Vous pouvez copier le code du widget et créer votre propre plug-in avec les modifications souhaitées, ou bien utiliser l'un des plug-ins existants qui le font déjà. Par exemple: http://wordpress.org/extend/plugins/bwp-recent-comments/