web-dev-qa-db-fra.com

Ajouter une zone de sélection à tous les widgets

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

3
oblik

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');
2
oblik