forked from leemason/NHP-Theme-Options-Framework
/
field_radio_img.php
76 lines (54 loc) · 2.12 KB
/
field_radio_img.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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
class NHP_Options_radio_img 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
*/
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
*/
function render(){
$class = (isset($this->field['class']))?'class="'.$this->field['class'].'" ':'';
echo '<fieldset>';
foreach($this->field['options'] as $k => $v){
$selected = (checked($this->value, $k, false) != '')?' nhp-radio-img-selected':'';
echo '<label class="nhp-radio-img'.$selected.' nhp-radio-img-'.$this->field['id'].'" for="'.$this->field['id'].'_'.array_search($k,array_keys($this->field['options'])).'">';
echo '<input type="radio" id="'.$this->field['id'].'_'.array_search($k,array_keys($this->field['options'])).'" name="'.$this->args['opt_name'].'['.$this->field['id'].']" '.$class.' value="'.$k.'" '.checked($this->value, $k, false).'/>';
echo '<img src="'.$v['img'].'" alt="'.$v['title'].'" onclick="jQuery:nhp_radio_img_select(\''.$this->field['id'].'_'.array_search($k,array_keys($this->field['options'])).'\', \''.$this->field['id'].'\');" />';
echo '<br/><span>'.$v['title'].'</span>';
echo '</label>';
}//foreach
echo ($this->field['desc'] != '')?'<br/><span class="description">'.$this->field['desc'].'</span>':'';
echo '</fieldset>';
}//function
/**
* Enqueue Function.
*
* If this field requires any scripts, or css define this function and register/enqueue the scripts/css
*
* @since NHP_Options 1.0
*/
function enqueue(){
wp_enqueue_script(
'nhp-opts-field-radio_img-js',
NHP_OPTIONS_URL.'fields/radio_img/field_radio_img.js',
array('jquery'),
time(),
true
);
}//function
}//class
?>