PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / trunk
Shortcodes and extra features for Phlox theme vtrunk
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 / accordion-widget.php
auxin-elements / includes / elements Last commit date
about-widget.php 5 months ago accordion-widget.php 1 month ago accordion.php 5 months ago attachment-url.php 5 months ago audio.php 5 months ago before-after.php 5 months ago button.php 5 months ago code.php 5 months ago contact-box.php 5 months ago contact-form.php 5 months ago custom-list.php 5 months ago divider.php 5 months ago dropcap.php 5 months ago facebook.php 5 months ago flickr.php 5 months ago gallery.php 5 months ago gmap.php 5 months ago highlight.php 5 months ago image.php 5 months ago instagram-feed.php 5 months ago latest-posts-slider.php 5 months ago popular-posts-widget.php 5 months ago products-grid.php 5 months ago quote.php 5 months ago recent-posts-grid-carousel.php 5 months ago recent-posts-land-style.php 5 months ago recent-posts-masonry.php 5 months ago recent-posts-tiles-carousel.php 5 months ago recent-posts-tiles.php 5 months ago recent-posts-timeline.php 5 months ago recent-posts-widget.php 5 months ago recent-products.php 5 months ago related-posts.php 8 years ago sample-element.php 5 months ago search.php 5 months ago socials-list.php 5 months ago staff.php 5 months ago tab-widget.php 5 months ago tabs.php 5 months ago testimonial.php 5 months ago text.php 5 months ago touch-slider.php 5 months ago video.php 5 months ago
accordion-widget.php
173 lines
1 <?php
2 /**
3 * Accordion Elements Just for Widgets
4 *
5 *
6 * @package Auxin
7 * @license LICENSE.txt
8 * @author averta
9 * @link http://phlox.pro/
10 * @copyright (c) 2010-2026 averta
11 */
12
13 function auxin_get_accordion_widget_master_array( $master_array ) {
14
15 $master_array['aux_accordion_widget'] = array(
16 'name' => __(' Accordion', 'auxin-elements'),
17 'auxin_output_callback' => 'auxin_get_accordion_widget_callback',
18 'base' => 'aux_accordion_widget',
19 'description' => __('Collapsible content', 'auxin-elements'),
20 'class' => 'aux-widget-accordion widget-toggle',
21 'show_settings_on_create' => true,
22 'weight' => 1,
23 'is_widget' => true,
24 'is_shortcode' => true,
25 'category' => THEME_NAME,
26 'group' => '',
27 'admin_enqueue_js' => '',
28 'admin_enqueue_css' => '',
29 'front_enqueue_js' => '',
30 'front_enqueue_css' => '',
31 'icon' => 'aux-element aux-pb-icons-accordion',
32 'custom_markup' => '',
33 'js_view' => '',
34 'html_template' => '',
35 'deprecated' => '',
36 'content_element' => '',
37 'as_parent' => '',
38 'as_child' => '',
39 'params' => array(
40 array(
41 'heading' => __('Title','auxin-elements'),
42 'description' => __('Accordion title, leave it empty if you don`t need title.', 'auxin-elements'),
43 'param_name' => 'title',
44 'type' => 'textfield',
45 'value' => __( 'Accordion Title', 'auxin-elements' ),
46 'holder' => 'textfield',
47 'class' => 'title',
48 'admin_label' => true,
49 'dependency' => '',
50 'weight' => '',
51 'group' => '' ,
52 'edit_field_class' => ''
53 ),
54 array(
55 'heading' => __('Type','auxin-elements'),
56 'description' => __('Whether to show only 1 element opens at a time or multiple.','auxin-elements'),
57 'param_name' => 'type',
58 'type' => 'dropdown',
59 'def_value' => 'true',
60 'value' => array(
61 'false' => __('Toggle', 'auxin-elements'),
62 'true' => __('Accordion', 'auxin-elements'),
63 ),
64 'holder' => '',
65 'class' => 'type',
66 'admin_label' => true,
67 'dependency' => '',
68 'weight' => '',
69 'group' => '' ,
70 'edit_field_class' => ''
71 ),
72 array(
73 'heading' => __('Content', 'auxin-elements'),
74 'description' => __('Enter your accordion item content.', 'auxin-elements'),
75 'param_name' => 'content',
76 'type' => 'textarea_html',
77 'value' => '',
78 'def_value' => '[aux_accordion_tab label="Your Label"]
79 Your Content
80 [/aux_accordion_tab]',
81 'holder' => 'div',
82 'class' => 'content',
83 'admin_label' => true,
84 'dependency' => '',
85 'weight' => '',
86 'group' => '',
87 'edit_field_class' => ''
88 ),
89 array(
90 'heading' => __('Extra class name','auxin-elements'),
91 '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'),
92 'param_name' => 'extra_classes',
93 'type' => 'textfield',
94 'value' => '',
95 'def_value' => '',
96 'holder' => 'textfield',
97 'class' => 'extra_classes',
98 'admin_label' => true,
99 'dependency' => '',
100 'weight' => '',
101 'group' => '' ,
102 'edit_field_class' => ''
103 )
104 )
105 );
106
107 return $master_array;
108 }
109
110 add_filter( 'auxin_master_array_shortcodes', 'auxin_get_accordion_widget_master_array', 10, 1 );
111
112
113 /**
114 * Element without loop and column
115 * The front-end output of this element is returned by the following function
116 *
117 * @param array $atts The array containing the parsed values from shortcode, it should be same as defined params above.
118 * @param string $shortcode_content The shorcode content
119 * @return string The output of element markup
120 */
121 function auxin_get_accordion_widget_callback( $atts, $shortcode_content = null ){
122
123 // Defining default attributes
124 $default_atts = array(
125 'title' => '', // header title
126 'type' => 'true', // accordion/toggle
127 'content' => '', // Custom Shortcodes for content
128 'extra_classes' => '', // custom css class names for this element
129 'custom_el_id' => '', // custom id attribute for this element
130 'base_class' => 'aux-widget-accordion widget-toggle' // base class name for container
131 );
132
133 $result = auxin_get_widget_scafold( $atts, $default_atts, $shortcode_content );
134
135 extract( $result['parsed_atts'] );
136
137 // widget header ------------------------------
138 $output = $result['widget_header'];
139 $output .= $result['widget_title'];
140 $output .= '<div class="widget-inner ' .esc_attr( $extra_classes ) . '" data-toggle="' . esc_attr( $type ) . '">';
141
142 // widget custom output -----------------------
143
144 $output .= do_shortcode( $content ) ;
145
146 $output .= '</div>'; // End od widget-toggle
147 $output .= $result['widget_footer'];
148
149 // widget footer ------------------------------
150
151 return $output;
152
153 }
154
155 function auxin_accordion_tab_shortcode( $atts, $content = null ) {
156
157 $output = '';
158
159 extract( shortcode_atts(
160 array(
161 "label" => 'Label'
162 ), $atts )
163 );
164 $output .= '<section>';
165 $output .= '<h6 class="toggle-header">' . auxin_kses( $label ) . '</h6>';
166 $output .= '<div class="toggle-content"><p>' . auxin_kses( $content ) . '</p></div>';
167 $output .= '</section>';
168
169 return $output;
170 }
171
172 add_shortcode('aux_accordion_tab', 'auxin_accordion_tab_shortcode');
173