PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.9.21
Shortcodes and extra features for Phlox theme v2.9.21
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 / before-after.php
auxin-elements / includes / elements Last commit date
about-widget.php 4 years ago accordion-widget.php 4 years ago accordion.php 4 years ago attachment-url.php 4 years ago audio.php 4 years ago before-after.php 4 years ago button.php 4 years ago code.php 4 years ago contact-box.php 4 years ago contact-form.php 4 years ago custom-list.php 4 years ago divider.php 4 years ago dropcap.php 4 years ago facebook.php 4 years ago flickr.php 4 years ago gallery.php 4 years ago general-element-fields.php 4 years ago gmap.php 4 years ago highlight.php 4 years ago image.php 4 years ago instagram-feed.php 4 years ago latest-items.php 4 years ago latest-posts-slider.php 4 years ago popular-posts-widget.php 4 years ago products-grid.php 4 years ago quote.php 4 years ago recent-posts-grid-carousel.php 3 years ago recent-posts-land-style.php 4 years ago recent-posts-masonry.php 4 years ago recent-posts-tiles-carousel.php 3 years ago recent-posts-tiles.php 4 years ago recent-posts-timeline.php 4 years ago recent-posts-widget.php 4 years ago recent-products.php 3 years ago related-posts.php 8 years ago sample-element.php 4 years ago search.php 4 years ago socials-list.php 4 years ago staff.php 4 years ago tab-widget.php 4 years ago tabs.php 4 years ago testimonial.php 4 years ago text.php 3 years ago touch-slider.php 4 years ago video.php 4 years ago
before-after.php
229 lines
1 <?php
2 /**
3 * Before after slider element
4 *
5 *
6 * @package Auxin
7 * @license LICENSE.txt
8 * @author averta
9 * @link http://phlox.pro/
10 * @copyright (c) 2010-2022 averta
11 */
12 function auxin_get_before_after_master_array( $master_array ) {
13
14 $master_array['aux_before_after'] = array(
15 'name' => __("Before After Slider", 'auxin-elements' ),
16 'auxin_output_callback' => 'auxin_widget_before_after_callback',
17 'base' => 'aux_before_after',
18 'description' => __('Before after comparison slider.', 'auxin-elements' ),
19 'class' => 'aux-widget-before-after',
20 'show_settings_on_create' => true,
21 'weight' => 1,
22 'is_widget' => true,
23 'is_shortcode' => true,
24 'is_vc' => 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-image',
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' => __('Element title, leave it empty if you don`t need title.', 'auxin-elements'),
43 'param_name' => 'title',
44 'type' => 'textfield',
45 'value' => '',
46 'holder' => 'textfield',
47 'class' => 'id',
48 'admin_label' => false,
49 'dependency' => '',
50 'weight' => '',
51 'group' => '' ,
52 'edit_field_class' => ''
53 ),
54 array(
55 'heading' => __('Before image','auxin-elements' ),
56 'description' => '',
57 'param_name' => 'before_attach_id',
58 'type' => 'attach_image',
59 'value' => '',
60 'class' => 'before_attach_id',
61 'admin_label' => false,
62 'dependency' => '',
63 'weight' => '',
64 'group' => '' ,
65 'edit_field_class' => ''
66 ),
67 array(
68 'heading' => __('After image','auxin-elements' ),
69 'description' => '',
70 'param_name' => 'after_attach_id',
71 'type' => 'attach_image',
72 'value' => '',
73 'def_value' => '',
74 'class' => 'after_attach_id',
75 'admin_label' => false,
76 'dependency' => '',
77 'weight' => '',
78 'group' => '' ,
79 'edit_field_class' => ''
80 ),
81 array(
82 'heading' => __( 'Start offset','auxin-elements' ),
83 'description' => __( 'How much of the before image is visible when the page loads, between 0 to 1.', 'auxin-elements' ),
84 'param_name' => 'default_offset',
85 'type' => 'textfield',
86 'value' => '0.5',
87 'def_value' => '',
88 'class' => 'default_offset',
89 'admin_label' => false,
90 'dependency' => '',
91 'weight' => '',
92 'group' => '' ,
93 'edit_field_class' => ''
94 ),
95 array(
96 'heading' => __('Image size','auxin-elements' ),
97 'description' => '',
98 'param_name' => 'size',
99 'type' => 'dropdown',
100 'def_value' => 'large',
101 'value' => array(
102 'thumbnail' => __('Thumbnail' , 'auxin-elements' ),
103 'medium' => __('Medium' , 'auxin-elements' ),
104 'large' => __('Large' , 'auxin-elements' ),
105 'full' => __('Full' , 'auxin-elements' )
106 ),
107 'admin_label' => true,
108 'dependency' => '',
109 'weight' => '',
110 'group' => '' ,
111 'edit_field_class' => ''
112 ),
113 array(
114 'heading' => __('Width','auxin-elements' ),
115 'description' => '',
116 'param_name' => 'width',
117 'type' => 'textfield',
118 'value' => '',
119 'class' => 'width',
120 'admin_label' => true,
121 'dependency' => '',
122 'weight' => '',
123 'group' => '' ,
124 'edit_field_class' => ''
125 ),
126 array(
127 'heading' => __('Height','auxin-elements' ),
128 'description' => '',
129 'param_name' => 'height',
130 'type' => 'textfield',
131 'value' => '',
132 'class' => 'height',
133 'admin_label' => true,
134 'dependency' => '',
135 'weight' => '',
136 'group' => '' ,
137 'edit_field_class' => ''
138 ),
139 array(
140 'heading' => __('Extra class name','auxin-elements' ),
141 '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' ),
142 'param_name' => 'extra_classes',
143 'type' => 'textfield',
144 'value' => '',
145 'def_value' => '',
146 'class' => 'extra_classes',
147 'admin_label' => false,
148 'dependency' => '',
149 'weight' => '',
150 'group' => '' ,
151 'edit_field_class' => ''
152 )
153 )
154 );
155
156 return $master_array;
157 }
158
159 add_filter( 'auxin_master_array_shortcodes', 'auxin_get_before_after_master_array', 10, 1 );
160
161 // This is the widget call back in fact the front end out put of this widget comes from this function
162 function auxin_widget_before_after_callback( $atts, $shortcode_content = null ){
163
164 // Defining default attributes
165 $default_atts = array(
166 'title' => '', // header title
167 'before_attach_id' => '', // attachment id of before image
168 'after_attach_id' => '', // attachment id of after image
169 'width' => '', // final width of image
170 'height' => '', // final height of image
171 'size' => 'large',
172 'crop' => true,
173 'default_offset' => '0.5',
174
175 'extra_classes' => '', // custom css class names for this element
176 'custom_el_id' => '', // custom id attribute for this element
177 'base_class' => 'aux-widget-before-after' // base class name for container
178 );
179
180 $result = auxin_get_widget_scafold( $atts, $default_atts, $shortcode_content );
181 extract( $result['parsed_atts'] );
182
183 $before_image = '';
184 $after_image = '';
185 $style_attr = '';
186
187 if ( ! empty( $width ) && is_numeric( $width ) ) {
188 $style_attr .= 'max-width:' . $width . 'px;';
189 }
190
191 if ( ! empty( $height ) && is_numeric( $height ) ) {
192 $style_attr .= 'max-height:' . $height . 'px ';
193 }
194
195 if( ! empty( $before_attach_id ) && is_numeric( $before_attach_id ) ) {
196 $before_image = wp_get_attachment_image( $before_attach_id, $size );
197 }
198
199 if( ! empty( $after_attach_id ) && is_numeric( $after_attach_id ) ) {
200 $after_image = wp_get_attachment_image( $after_attach_id, $size );
201 }
202
203 ob_start();
204
205 // widget header ------------------------------
206 echo wp_kses_post( $result['widget_header'] );
207 echo wp_kses_post( $result['widget_title'] );
208
209
210 // widget output -----------------------
211 if ( !empty( $after_image ) ) {
212 ?>
213 <div class="aux-before-after" style="<?php echo esc_attr( $style_attr ); ?>" data-offset="<?php echo esc_attr( $default_offset ); ?>">
214 <?php echo wp_kses_post( $before_image ); ?>
215 <?php echo wp_kses_post( $after_image ); ?>
216 </div>
217 <?php } else { ?>
218 <div class="aux-before-after" style="<?php echo esc_attr( $style_attr ); ?>" data-offset="<?php echo esc_attr( $default_offset ); ?>">
219 <?php echo wp_kses_post( $before_image ); ?>
220 </div>
221 <?php
222 }
223
224 // widget footer ------------------------------
225 echo wp_kses_post( $result['widget_footer'] );
226
227 return ob_get_clean();
228 }
229