PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.5.13
Shortcodes and extra features for Phlox theme v2.5.13
trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.6 1.0.9 1.1.0 1.3.0 1.3.1 1.3.10 1.3.14 1.3.2 1.3.3 1.3.6 1.4.0 1.4.1 1.4.2 1.5.0 1.5.2 1.6.0 1.6.2 1.6.4 1.7.0 1.7.2 2.10.0 2.10.1 2.10.3 2.10.5 2.10.7 2.10.8 2.10.9 2.11.0 2.11.1 2.11.2 2.12.0 2.14.0 2.15.0 2.15.2 2.15.4 2.15.5 2.15.6 2.15.7 2.15.8 2.15.9 2.16.0 2.16.1 2.16.2 2.16.3 2.16.4 2.17.0 2.17.1 2.17.12 2.17.13 2.17.14 2.17.15 2.17.16 2.17.2 2.17.3 2.17.4 2.17.5 2.17.6 2.17.8 2.17.9 2.4.12 2.4.13 2.4.14 2.4.16 2.4.18 2.4.19 2.4.9 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.14 2.5.15 2.5.16 2.5.17 2.5.19 2.5.2 2.5.20 2.5.3 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.10 2.6.12 2.6.13 2.6.14 2.6.15 2.6.16 2.6.17 2.6.19 2.6.2 2.6.20 2.6.4 2.6.5 2.6.7 2.7.0 2.7.1 2.7.10 2.7.11 2.7.12 2.7.13 2.7.14 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.9 2.9.0 2.9.12 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.19 2.9.2 2.9.20 2.9.21 2.9.22 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8
auxin-elements / includes / elements / tab-widget.php
auxin-elements / includes / elements Last commit date
about-widget.php 6 years ago accordion-widget.php 6 years ago accordion.php 6 years ago attachment-url.php 6 years ago audio.php 6 years ago before-after.php 6 years ago button.php 6 years ago code.php 6 years ago contact-box.php 6 years ago contact-form.php 6 years ago custom-list.php 6 years ago divider.php 6 years ago dropcap.php 6 years ago facebook.php 6 years ago flickr.php 6 years ago gallery.php 6 years ago general-element-fields.php 6 years ago gmap.php 6 years ago highlight.php 6 years ago image.php 6 years ago instagram-feed.php 6 years ago latest-items.php 8 years ago latest-posts-slider.php 6 years ago popular-posts-widget.php 6 years ago quote.php 6 years ago recent-posts-grid-carousel.php 6 years ago recent-posts-land-style.php 6 years ago recent-posts-masonry.php 6 years ago recent-posts-tiles-carousel.php 6 years ago recent-posts-tiles.php 6 years ago recent-posts-timeline.php 6 years ago recent-posts-widget.php 6 years ago recent-products.php 6 years ago related-posts.php 8 years ago sample-element.php 6 years ago search.php 6 years ago socials-list.php 6 years ago staff.php 6 years ago tab-widget.php 6 years ago tabs.php 6 years ago testimonial.php 6 years ago text.php 6 years ago touch-slider.php 6 years ago video.php 6 years ago
tab-widget.php
267 lines
1 <?php
2 /**
3 * Tabs Element just For Widgets
4 *
5 *
6 * @package Auxin
7 * @license LICENSE.txt
8 * @author averta
9 * @link http://phlox.pro/
10 * @copyright (c) 2010-2020 averta
11 */
12 function auxin_get_tabs_widget_master_array( $master_array ) {
13
14 $master_array['aux_tabs_widget'] = array( // shortcode info here
15 'name' => __('Tabs', 'auxin-elements'),
16 'auxin_output_callback' => 'auxin_get_tabs_widget_callback',
17 'base' => 'aux_tabs_widget',
18 'description' => __('It adds tabs element.', 'auxin-elements'),
19 'class' => 'aux-widget-tabs',
20 'show_settings_on_create' => true,
21 'so_api' => true,
22 'weight' => 1,
23 'is_widget' => true,
24 'is_shortcode' => true,
25 'is_so' => false,
26 'is_vc' => false,
27 'category' => THEME_NAME,
28 'group' => '',
29 'admin_enqueue_js' => '',
30 'admin_enqueue_css' => '',
31 'front_enqueue_js' => '',
32 'front_enqueue_css' => '',
33 'icon' => 'aux-element aux-pb-icons-tab',
34 'custom_markup' => '',
35 'js_view' => '',
36 'html_template' => '',
37 'deprecated' => '',
38 'content_element' => '',
39 'as_parent' => '',
40 'as_child' => '',
41 'params' => array(
42 array(
43 'heading' => __('Title','auxin-elements'),
44 'description' => __('Tabs title, leave it empty if you don`t need title.', 'auxin-elements'),
45 'param_name' => 'title',
46 'type' => 'textfield',
47 'value' => '',
48 'holder' => 'textfield',
49 'class' => 'title',
50 'admin_label' => true,
51 'dependency' => '',
52 'weight' => '',
53 'group' => '' ,
54 'edit_field_class' => ''
55 ),
56 array(
57 'heading' => __('Style', 'auxin-elements'),
58 'description' => __('Choose between bordered style and no border.', 'auxin-elements'),
59 'param_name' => 'style',
60 'type' => 'dropdown',
61 'def_value' => 'bordered',
62 'holder' => '',
63 'class' => 'style',
64 'value' =>array (
65 'bordered' => __('Bordered', 'auxin-elements'),
66 'aux-stripe' => __('No border', 'auxin-elements'),
67 ),
68 'admin_label' => true,
69 'dependency' => '',
70 'weight' => '',
71 'group' => '' ,
72 'edit_field_class' => ''
73 ),
74 array(
75 'heading' => __('First Tab Label','auxin-elements'),
76 'description' => __('Enter your tab item label.', 'auxin-elements'),
77 'param_name' => 'first_tab_label',
78 'type' => 'textfield',
79 'value' => '',
80 'holder' => 'textfield',
81 'class' => 'tab_label',
82 'admin_label' => true,
83 'dependency' => '',
84 'weight' => '',
85 'group' => '' ,
86 'edit_field_class' => ''
87 ),
88 array(
89 'heading' => __('First Tab Content', 'auxin-elements'),
90 'description' => __('Enter your tab item content.', 'auxin-elements'),
91 'param_name' => 'first_content',
92 'type' => 'textarea_html',
93 'value' => '',
94 'def_value' => '',
95 'holder' => 'div',
96 'class' => 'content',
97 'admin_label' => true,
98 'dependency' => '',
99 'weight' => '',
100 'group' => '',
101 'edit_field_class' => ''
102 ),
103 array(
104 'heading' => __('Second Tab Label','auxin-elements'),
105 'description' => __('Enter your tab item label.', 'auxin-elements'),
106 'param_name' => 'second_tab_label',
107 'type' => 'textfield',
108 'value' => '',
109 'holder' => 'textfield',
110 'class' => 'tab_label',
111 'admin_label' => true,
112 'dependency' => '',
113 'weight' => '',
114 'group' => '' ,
115 'edit_field_class' => ''
116 ),
117 array(
118 'heading' => __('Second Tab Content', 'auxin-elements'),
119 'description' => __('Enter your tab item content.', 'auxin-elements'),
120 'param_name' => 'second_content',
121 'type' => 'textarea_html',
122 'value' => '',
123 'def_value' => '',
124 'holder' => 'div',
125 'class' => 'content',
126 'admin_label' => true,
127 'dependency' => '',
128 'weight' => '',
129 'group' => '',
130 'edit_field_class' => ''
131 ),
132 array(
133 'heading' => __('Third Tab Label','auxin-elements'),
134 'description' => __('Enter your tab item label.', 'auxin-elements'),
135 'param_name' => 'third_tab_label',
136 'type' => 'textfield',
137 'value' => '',
138 'holder' => 'textfield',
139 'class' => 'tab_label',
140 'admin_label' => true,
141 'dependency' => '',
142 'weight' => '',
143 'group' => '' ,
144 'edit_field_class' => ''
145 ),
146 array(
147 'heading' => __('Third Tab Content', 'auxin-elements'),
148 'description' => __('Enter your tab item content.', 'auxin-elements'),
149 'param_name' => 'third_content',
150 'type' => 'textarea_html',
151 'value' => '',
152 'def_value' => '',
153 'holder' => 'div',
154 'class' => 'content',
155 'admin_label' => true,
156 'dependency' => '',
157 'weight' => '',
158 'group' => '',
159 'edit_field_class' => ''
160 ),
161 array(
162 'heading' => __('Extra class name','auxin-elements'),
163 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'auxin-elements'),
164 'param_name' => 'extra_classes',
165 'type' => 'textfield',
166 'value' => '',
167 'def_value' => '',
168 'holder' => 'textfield',
169 'class' => 'extra_classes',
170 'admin_label' => true,
171 'dependency' => '',
172 'weight' => '',
173 'group' => '' ,
174 'edit_field_class' => ''
175 )
176 )
177 );
178
179
180 return $master_array;
181 }
182
183 add_filter( 'auxin_master_array_shortcodes', 'auxin_get_tabs_widget_master_array', 10, 1 );
184
185 /**
186 * Sample element markup for front-end
187 * In other words, the front-end output of this element is returned by the following function
188 *
189 *
190 * @param array $atts The array containing the parsed values from shortcode,it should be same as defined params above.
191 * @param string $shortcode_content The shorcode content
192 * @return string The output of element markup
193 */
194 function auxin_get_tabs_widget_callback( $atts, $shortcode_content = null ){
195
196 // Defining default attributes
197 $default_atts = array(
198 'title' => '', // header title
199 'style' => 'bordered', // header title
200 'first_tab_label' => '', // first label title
201 'first_content' => '', // first content
202 'second_tab_label' => '', // second title
203 'second_content' => '', // second content
204 'third_tab_label' => '', // third title
205 'third_content' => '', // third content
206 'extra_classes' => '', // custom css class names for this element
207 'custom_el_id' => '', // custom id attribute for this element
208 'base_class' => 'aux-widget-tabs' // base class name for container
209 );
210
211 $result = auxin_get_widget_scafold( $atts, $default_atts, $shortcode_content );
212 $output = '';
213 $tabs_count = 0;
214 $tabs_info = array () ;
215 $tabs_markup = '';
216 $tabs_content_markup = '';
217
218 extract( $result['parsed_atts'] );
219
220 $tabs_info = array (
221 array( 'label' => $first_tab_label , 'content' => $first_content ),
222 array( 'label' => $second_tab_label , 'content' => $second_content ),
223 array( 'label' => $third_tab_label , 'content' => $third_content )
224 );
225
226 foreach ( $tabs_info as $tab ) {
227
228 if ( !empty ( $tab['label'] ) ) {
229 $tabs_markup .= '<li><a href="#">' . esc_html ( $tab['label'] ) . '</a></li>';
230 $tabs_content_markup .= '<li>' . $tab['content'] . '</li>';
231 $tabs_count++;
232 }
233
234
235 }
236
237 $style = 'bordered' === $style ? '': 'aux-stripe aux-fill ';
238 $widget_class = 'widget-tabs ' . esc_attr( $style ) . esc_attr( $extra_classes ) ;
239
240 // widget header ------------------------------
241 $output .= $result['widget_header'];
242 $output .= $result['widget_title'];
243
244 // widget custom output -----------------------
245 $output .= '<div class="'. esc_attr( $widget_class ) .'">';
246 $output .= '<div class="widget-inner">';
247
248 if( $tabs_count > 1 ){
249 $output .= '<ul class="tabs">';
250 $output .= $tabs_markup ;
251 $output .= '</ul>';
252 }
253
254 $output .= '<ul class="tabs-content">';
255 $output .= $tabs_content_markup ;
256 $output .= '</ul>';
257
258 $output .= '</div>';
259 $output .= '</div>' ;
260
261
262 // widget footer ------------------------------
263 $output .= $result['widget_footer'];
264
265 return $output;
266 }
267