Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- plugin - https://wordpress.org/plugins/widget-css-classes/
- or
- add this to functions.php
- //http://ednailor.com/2011/01/24/adding-custom-css-classes-to-sidebar-widgets/
- //Custom CSS Classes for WordPress Widgets
- function kc_widget_form_extend( $instance, $widget ) {
- if ( !isset($instance['classes']) )
- $instance['classes'] = null;
- /* Set your predetermied class choices here */
- $myarray = "class1,class2,class3";
- $myclasses = explode(",",$myarray);
- $row = "<p>\n";
- $row .= "\t<label for='widget-{$widget->id_base}-{$widget->number}-classes'>Class:</label>\n";
- $row .= "\t<select name='widget-{$widget->id_base}[{$widget->number}][classes]' id='widget-{$widget->id_base}-{$widget->number}-classes' class='widefat'>\n";
- foreach($myclasses as $myclass) {
- $instance_selected = null; if($instance['classes']==$myclass) $instance_selected = " selected='selected'";
- $row .= "\t<option value='".$myclass."'".$instance_selected.">".$myclass."</option>\n";
- }
- $row .= "</select>\n";
- //Allow the user to assign their own classes:
- /* Allows User to Add Custom CSS Classes */
- $row .= "\t<input type='text' name='widget-{$widget->id_base}[{$widget->number}][classes]' id='widget-{$widget->id_base}-{$widget->number}-classes' class='widefat' value='{$instance['classes']}'/>\n";
- $row .= "</p>\n";
- echo $row;
- return $instance;
- }
- add_filter('widget_form_callback', 'kc_widget_form_extend', 10, 2);function kc_widget_update( $instance, $new_instance ) {
- $instance['classes'] = $new_instance['classes'];
- return $instance;
- }
- add_filter( 'widget_update_callback', 'kc_widget_update', 10, 2 );
- function kc_dynamic_sidebar_params( $params ) {
- global $wp_registered_widgets;
- $widget_id = $params[0]['widget_id'];
- $widget_obj = $wp_registered_widgets[$widget_id];
- $widget_opt = get_option($widget_obj['callback'][0]->option_name);
- $widget_num = $widget_obj['params'][0]['number'];
- if ( isset($widget_opt[$widget_num]['classes']) && !empty($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' );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement