Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save mlbd/52961ea69193a4394183e2a0d64dca4d to your computer and use it in GitHub Desktop.
Save mlbd/52961ea69193a4394183e2a0d64dca4d to your computer and use it in GitHub Desktop.
function wpse64458_in_widget_form($t,$return,$instance){
$instance = wp_parse_args( (array) $instance, array( 'column' => 'default', 'title' => '') );
if ( !isset($instance['column']) )
$instance['column'] = null;
?>
<p>
<label for="<?php echo $t->get_field_id('column'); ?>"><?php esc_html_e('Column', 'textdomain'); ?>: </label>
<select id="<?php echo $t->get_field_id('column'); ?>" name="<?php echo $t->get_field_name('column'); ?>">
<option <?php selected($instance['column'], 'default');?> value="default"><?php esc_html_e('Default', 'textdomain'); ?></option>
<option <?php selected($instance['column'], '1');?>value="1"><?php esc_html_e('1', 'textdomain'); ?></option>
<option <?php selected($instance['column'], '2');?>value="2"><?php esc_html_e('2', 'textdomain'); ?></option>
<option <?php selected($instance['column'], '3');?>value="3"><?php esc_html_e('3', 'textdomain'); ?></option>
<option <?php selected($instance['column'], '4');?>value="4"><?php esc_html_e('4', 'textdomain'); ?></option>
<option <?php selected($instance['column'], '5');?>value="5"><?php esc_html_e('5', 'textdomain'); ?></option>
<option <?php selected($instance['column'], '6');?>value="6"><?php esc_html_e('6', 'textdomain'); ?></option>
<option <?php selected($instance['column'], '7');?>value="7"><?php esc_html_e('7', 'textdomain'); ?></option>
<option <?php selected($instance['column'], '8');?>value="8"><?php esc_html_e('8', 'textdomain'); ?></option>
<option <?php selected($instance['column'], '9');?>value="9"><?php esc_html_e('9', 'textdomain'); ?></option>
<option <?php selected($instance['column'], '10');?>value="10"><?php esc_html_e('10', 'textdomain'); ?></option>
<option <?php selected($instance['column'], '11');?>value="11"><?php esc_html_e('11', 'textdomain'); ?></option>
<option <?php selected($instance['column'], '12');?>value="12"><?php esc_html_e('12', 'textdomain'); ?></option>
</select>
</p>
<?php
$retrun = null;
return array($t,$return,$instance);
}
function wpse64458_in_widget_form_update($instance, $new_instance, $old_instance){
$instance['column'] = $new_instance['column'];
return $instance;
}
function wpse64458_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]['width'])){
if(isset($widget_opt[$widget_num]['column']))
$column = $widget_opt[$widget_num]['column'];
else
$column = '';
$params[0]['before_widget'] = preg_replace('/class="/', 'class="'.$column.' mlimon ', $params[0]['before_widget'], 1);
}
return $params;
}
//Add input fields(priority 5, 3 parameters)
add_action('in_widget_form', 'wpse64458_in_widget_form',5,3);
//Callback function for options update (priorität 5, 3 parameters)
add_filter('widget_update_callback', 'wpse64458_in_widget_form_update',5,3);
//add class names (default priority, one parameter)
add_filter('dynamic_sidebar_params', 'wpse64458_dynamic_sidebar_params');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment