forked from leemason/NHP-Theme-Options-Framework
-
Notifications
You must be signed in to change notification settings - Fork 0
/
field_menu_select.php
52 lines (38 loc) · 1.33 KB
/
field_menu_select.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
class NHP_Options_menu_select extends NHP_Options{
/**
* Field Constructor.
*
* Required - must call the parent constructor, then assign field and value to vars, and obviously call the render field function
*
* @since NHP_Options 1.0.1
*/
function __construct($field = array(), $value ='', $parent){
parent::__construct($parent->sections, $parent->args, $parent->extra_tabs);
$this->field = $field;
$this->value = $value;
//$this->render();
}//function
/**
* Field Render Function.
*
* Takes the vars and outputs the HTML for the field in the settings
*
* @since NHP_Options 1.0.1
*/
function render(){
$class = (isset($this->field['class']))?'class="'.$this->field['class'].'" ':'';
echo '<select id="'.$this->field['id'].'" name="'.$this->args['opt_name'].'['.$this->field['id'].']" '.$class.' >';
if(!isset($this->field['args'])){$this->field['args'] = array();}
$args = wp_parse_args($this->field['args'], array());
$menus = wp_get_nav_menus($args);
if($menus){
foreach ( $menus as $menu ) {
echo '<option value="'.$menu->term_id.'"'.selected($this->value, $menu->term_id, false).'>'.$menu->name.'</option>';
}
}//if
echo '</select>';
echo ($this->field['desc'] != '')?' <span class="description">'.$this->field['desc'].'</span>':'';
}//function
}//class
?>