Title: Walker_CategoryDropdown with optgroup
Last modified: August 20, 2016

---

# Walker_CategoryDropdown with optgroup

 *  Resolved [niska](https://wordpress.org/support/users/niska/)
 * (@niska)
 * [13 years, 3 months ago](https://wordpress.org/support/topic/walker_categorydropdown-with/)
 * I need to make a child class of Walker_CategoryDropdown to make it support <optgroup
   >. But I have no clue of how to achieve this. Any ideas?
 * My goal is to get a result that looks like this:
 *     ```
       <select>
                      <optgroup label="Alaskan/Hawaiian Time Zone">
                          <option value="AK">Alaska</option>
                          <option value="HI">Hawaii</option>
                      </optgroup>
                      <optgroup label="Pacific Time Zone">
                          <option value="CA">California</option>
                          <option value="NV">Nevada</option>
                          <option value="OR">Oregon</option>
                          <option value="WA">Washington</option>
                      </optgroup>
                      <optgroup label="Mountain Time Zone">
                          <option value="AZ">Arizona</option>
                          <option value="CO">Colorado</option>
                          <option value="ID">Idaho</option>
                          <option value="MT">Montana</option><option value="NE">Nebraska</option>
                          <option value="NM">New Mexico</option>
                          <option value="ND">North Dakota</option>
                          <option value="UT">Utah</option>
                          <option value="WY">Wyoming</option>
                      </optgroup>
       </select>
       ```
   

Viewing 1 replies (of 1 total)

 *  Thread Starter [niska](https://wordpress.org/support/users/niska/)
 * (@niska)
 * [13 years, 3 months ago](https://wordpress.org/support/topic/walker_categorydropdown-with/#post-3489696)
 * Solved:
 *     ```
       class Walker_CategoryDropdownCustom extends Walker_CategoryDropdown {
       	function start_el(&$output, $category, $depth, $args) {
       		global $wp_query;
       		$cat_name = apply_filters('list_cats', $category->name, $category);
   
       		if ($depth == 0) {
       			$output .= "\t<optgroup class=\"level-$depth\" value=\"".$category->term_id."\"";
       			$output .= ' label="'.$cat_name.'">';
       		} else {
       			$output .= "\t<option class=\"level-$depth\" value=\"".$category->term_id."\"";
       			$output .= '>';
       			$output .= $cat_name;
       			$output .= "</option>\n";
       		}
       	}
       	function end_lvl(&$output, $depth, $args) {
       		$output .= "</optgroup>\n";
       	}
       }
       ```
   

Viewing 1 replies (of 1 total)

The topic ‘Walker_CategoryDropdown with optgroup’ is closed to new replies.

## Tags

 * [Walker](https://wordpress.org/support/topic-tag/walker/)
 * [wp_list_categories()](https://wordpress.org/support/topic-tag/wp_list_categories/)

 * In: [Fixing WordPress](https://wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 1 reply
 * 1 participant
 * Last reply from: [niska](https://wordpress.org/support/users/niska/)
 * Last activity: [13 years, 3 months ago](https://wordpress.org/support/topic/walker_categorydropdown-with/#post-3489696)
 * Status: resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
