J'aimerais ajouter une zone de sélection par défaut à tous les widgets placés dans les barres latérales de mon site. Cela permettrait de choisir la couleur du widget associé. Savez-vous comment je peux faire ça? Je sais comment faire un widget personnalisé. Je vous remercie
Merci à Ed Nailor et Kucrut!
http://ednailor.com/2011/01/24/adding-custom-css-classes-to-sidebar-widgets/
// __________________________________________________________ // // CLASSES PERSONNALISÉES PAR WIDGETS Fonction kc_widget_form_extend ($ instance, $ widget) { if (! isset ($ instance ['classes']])) $ instance ['classes'] = null; /* Définissez vos choix de classe prédéterminés ici */ $ myarray = "class1, class2, class3"; $ myclasses = explode (",", $ myarray); $ row = "
\ n "; $ row. ="\tid_base} - {$ widget-> number} -classes '> Class:\n "; $ row. ="\tid_base} [{ $ widget-> number}] [classes] 'id =' widget - {$ widget-> id_base} - {$ widget-> number} -classes 'class =' widefat '>\n "; pour chaque ($ myclasses as $ myclass) { $ instance_selected = null; if ($ instance ['classes'] == $ myclass) $ instance_selected = "selected = 'selected'"; $ row . = "\ t". $ myclass. "\ n"; } $ row. = "\ n"; echo $ row; return $ instance; } add_filter ('widget_form_callback', 'kc_widget_form_extend', 10, 2); fonction kc_widget_update ($ instance, $ new_instance) { $ instance ['classes' ] = $ new_instance ['classes']; return $ instance; } add_filter ('widget_update_callback', 'kc_widget_update', 10, 2); fonction kc_dynamic_sidebar_params ($ params) { global $ wp_registered_widgets; $ widget_id = $ params [0] ['widget_id']; $ widget_obj = $ wp_registered_widgets [$ widget_id]; $ widg et_opt = get_option ($ widget_obj ['callback'] [0] -> nom_option]; $ widget_num = $ widget_obj ['params'] [0] ['number']; if (isset ($ widget_opt [$ widget_num] ['classes'])) &&! vide ($ widget_opt [$ widget_num] ['classes'])) $ params [0] ['before_widget' ] = preg_replace ('/ class = "/'," class =\"{$ widget_opt [$ widget_num] ['classes']}", $ params [0] ['before_widget'], 1); return $ params; } add_filter ('dynamic_sidebar_params', 'kc_dynamic_sidebar_params');