PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 1.0.2
Shortcodes and extra features for Phlox theme v1.0.2
2.17.21 2.17.20 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 / tabs.php
auxin-elements / includes / elements Last commit date
about-widget.php 9 years ago accordion.php 9 years ago attachment-url.php 9 years ago audio.php 9 years ago button.php 9 years ago code.php 9 years ago contact-box.php 9 years ago contact-form.php 9 years ago divider.php 9 years ago dropcap.php 9 years ago gallery.php 9 years ago gmap.php 9 years ago highlight.php 9 years ago image.php 9 years ago instagram-feed.php 9 years ago latest-items.php 9 years ago latest-posts-slider.php 9 years ago quote.php 9 years ago recent-posts-widget.php 9 years ago recent-posts.php 9 years ago sample-element.php 9 years ago search.php 9 years ago socials-list.php 9 years ago tabs.php 9 years ago text.php 9 years ago video.php 9 years ago
tabs.php
147 lines
1 <?php
2 /**
3 * Tabs element
4 *
5 *
6 * @package auxin-elements
7 * @license LICENSE.txt
8 * @author
9 * @link https://bitbucket.org/averta/
10 * @copyright (c) 2010-2016
11 */
12 function auxin_get_tabs_master_array( $master_array ) {
13
14 $master_array['aux_tabs'] = array( // shortcode info here
15 'name' => __('[Phlox] Tabs', 'auxin-elements'),
16 'auxin_output_callback' => 'auxin_widget_tabs_callback',
17 'base' => 'aux_tabs',
18 'description' => __('It adds tabs element.', 'auxin-elements'),
19 'class' => 'aux-widget-tabs',
20 'show_settings_on_create' => true,
21 'weight' => 1,
22 'category' => THEME_NAME,
23 'group' => '',
24 'admin_enqueue_js' => '',
25 'admin_enqueue_css' => '',
26 'front_enqueue_js' => '',
27 'front_enqueue_css' => '',
28 'icon' => 'auxin-element auxin-tab',
29 'custom_markup' => '',
30 'js_view' => '',
31 'html_template' => '',
32 'deprecated' => '',
33 'content_element' => '',
34 'as_parent' => '',
35 'as_child' => '',
36 'params' => array(
37 array(
38 'param_name' => 'title',
39 'type' => 'textfield',
40 'value' => '',
41 'holder' => 'textfield',
42 'class' => 'title',
43 'heading' => __('Title','auxin-elements'),
44 'description' => __('Tabs title, leave it empty if you don`t need title.', 'auxin-elements'),
45 'admin_label' => true,
46 'dependency' => '',
47 'weight' => '',
48 'group' => '' ,
49 'edit_field_class' => ''
50 ),
51 array(
52 'param_name' => 'content',
53 'type' => 'textarea_html',
54 'value' => '',
55 'def_value' => '',
56 'holder' => 'div',
57 'class' => 'content',
58 'heading' => __('Content','auxin-elements'),
59 'description' => __('Please use below sample for each tab item.<br>[tab_section label="Tab label here" ]Tab content here [/tab_section]', 'auxin-elements'),
60 'admin_label' => true,
61 'dependency' => '',
62 'weight' => '',
63 'group' => '' ,
64 'edit_field_class' => ''
65 ),
66 array(
67 'param_name' => 'extra_classes',
68 'type' => 'textfield',
69 'value' => '',
70 'def_value' => '',
71 'holder' => 'textfield',
72 'class' => 'extra_classes',
73 'heading' => __('Extra class name','auxin-elements'),
74 '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'),
75 'admin_label' => true,
76 'dependency' => '',
77 'weight' => '',
78 'group' => '' ,
79 'edit_field_class' => ''
80 )
81 )
82 );
83
84
85 return $master_array;
86 }
87
88 add_filter( 'auxin_master_array_shortcodes', 'auxin_get_tabs_master_array', 10, 1 );
89
90 /**
91 * Sample element markup for front-end
92 * In other words, the front-end output of this element is returned by the following function
93 *
94 *
95 * @param array $atts The array containing the parsed values from shortcode,it should be same as defined params above.
96 * @param string $shortcode_content The shorcode content
97 * @return string The output of element markup
98 */
99 function auxin_widget_tabs_callback( $atts, $shortcode_content = null ){
100
101 // Defining default attributes
102 $default_atts = array(
103 'title' => '', // header title
104 'content' => '', // header title
105
106 'extra_classes' => '', // custom css class names for this element
107 'custom_el_id' => '', // custom id attribute for this element
108 'base_class' => 'aux-widget-tabs' // base class name for container
109 );
110
111 $result = auxin_get_widget_scafold( $atts, $default_atts, $shortcode_content );
112 extract( $result['parsed_atts'] );
113
114
115 ob_start();
116
117 // widget header ------------------------------
118 echo $result['widget_header'];
119 echo $result['widget_title'];
120
121 // widget custom output -----------------------
122 $content_array = explode("[/tab_section]", $content);
123 $output = '<section class="widget-tabs widget-container bordered">';
124 $output .= '<div class="widget-inner ' . $extra_classes . '"> ';
125 $tabs = '<ul class="tabs">';
126 $tabs_content = '<ul class="tabs-content">';
127 foreach ($content_array as $key => $value) {
128 if( $key !== count( $content_array )-1 ) {
129 $section_title = auxin_get_string_between( $value, 'label="', '" ');
130 $tabs .= '<li><a href="">' . $section_title . '</a></li>';
131 $pos = strpos($value, "]");
132 $section_content = substr( $value, $pos+1);
133 $tabs_content .= '<li><div class="entry-editor"><p>' . $section_content . '</p></div></li>';
134 }
135 }
136 $tabs .= '</ul>';
137 $tabs_content .= '</ul>';
138 $output = $output . $tabs . $tabs_content . '</div>' . '</section>';
139
140 echo $output;
141
142 // widget footer ------------------------------
143 echo $result['widget_footer'];
144
145 return ob_get_clean();
146 }
147