Je vais implémenter un thème dans wordpress.
Est-il possible de modifier une sortie (html) de widget dans wordpress?
Par exemple, le "widget de commentaires récents"?
Je copierais le widget du noyau selon les besoins, le mettrais dans le thème ou le plug-in, mais vous devriez également désenregistrer le widget que vous remplacez.
Cela peut être fait comme ça:
// unregister all default WP Widgets
function unregister_default_wp_widgets() {
unregister_widget('WP_Widget_Pages');
unregister_widget('WP_Widget_Calendar');
unregister_widget('WP_Widget_Archives');
unregister_widget('WP_Widget_Links');
unregister_widget('WP_Widget_Meta');
unregister_widget('WP_Widget_Search');
unregister_widget('WP_Widget_Text');
unregister_widget('WP_Widget_Categories');
unregister_widget('WP_Widget_Recent_Posts');
unregister_widget('WP_Widget_Recent_Comments');
unregister_widget('WP_Widget_RSS');
unregister_widget('WP_Widget_Tag_Cloud');
}
add_action('widgets_init', 'unregister_default_wp_widgets', 1);
Enregistrez ensuite votre nouveau widget et vous devriez être prêt.
Si vous avez juste besoin de changer l'esthétique d'un widget et non sa fonctionnalité, vous pouvez essayer d'utiliser Javascript pour manipuler les éléments à votre guise.
Oui, vous pouvez modifier la sortie du widget, mais pas en modifiant les fichiers principaux. Ce que je ferais, c’est d’aller dans le fichier wp-includes/default-widgets.php et de copier le code du widget dans son intégralité, puis de le réécrire selon vos besoins. Je voudrais aussi ensuite coller ce qui suit dans votre fichier functions.php. De cette façon, la valeur par défaut WP ne s'affiche pas dans l'administrateur. Assurez-vous également d'utiliser un nom de classe différent pour le nouveau widget.
wp_unregister_sidebar_widget( 'recent-posts' );