Last active
April 21, 2019 10:38
-
-
Save mlbd/52961ea69193a4394183e2a0d64dca4d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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