PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.17.14
Shortcodes and extra features for Phlox theme v2.17.14
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 / instagram-feed.php
auxin-elements / includes / elements Last commit date
about-widget.php 1 year ago accordion-widget.php 1 year ago accordion.php 1 year ago attachment-url.php 1 year ago audio.php 1 year ago before-after.php 1 year ago button.php 1 year ago code.php 1 year ago contact-box.php 1 year ago contact-form.php 1 year ago custom-list.php 6 months ago divider.php 1 year ago dropcap.php 1 year ago facebook.php 1 year ago flickr.php 1 year ago gallery.php 1 year ago gmap.php 1 year ago highlight.php 1 year ago image.php 1 year ago instagram-feed.php 1 year ago latest-posts-slider.php 1 year ago popular-posts-widget.php 1 year ago products-grid.php 1 year ago quote.php 1 year ago recent-posts-grid-carousel.php 1 year ago recent-posts-land-style.php 1 year ago recent-posts-masonry.php 1 year ago recent-posts-tiles-carousel.php 1 year ago recent-posts-tiles.php 1 year ago recent-posts-timeline.php 1 year ago recent-posts-widget.php 1 year ago recent-products.php 1 year ago related-posts.php 8 years ago sample-element.php 1 year ago search.php 1 year ago socials-list.php 1 year ago staff.php 1 year ago tab-widget.php 1 year ago tabs.php 1 year ago testimonial.php 1 year ago text.php 1 year ago touch-slider.php 1 year ago video.php 1 year ago
instagram-feed.php
392 lines
1 <?php
2 /**
3 * Instagram feed
4 *
5 *
6 * @package Auxin
7 * @license LICENSE.txt
8 * @author averta
9 * @link http://phlox.pro/
10 * @copyright (c) 2010-2025 averta
11 */
12 function auxin_get_instagram_master_array( $master_array ) {
13
14 $master_array['aux_instagram_feed'] = array( // shortcode info here
15 'name' => __("instagram feed", 'auxin-elements' ),
16 'auxin_output_callback' => 'auxin_widget_instagram_feed_callback',
17 'base' => 'aux_instagram_feed',
18 'description' => __('It adds an instagram feed element.', 'auxin-elements' ),
19 'class' => 'aux-widget-instagram',
20 'show_settings_on_create' => true,
21 'weight' => 1,
22 'is_widget' => true,
23 'is_shortcode' => true,
24 'category' => THEME_NAME,
25 'group' => '',
26 'admin_enqueue_js' => '',
27 'admin_enqueue_css' => '',
28 'front_enqueue_js' => '',
29 'front_enqueue_css' => '',
30 'icon' => 'aux-element aux-pb-icons-image',
31 'custom_markup' => '',
32 'js_view' => '',
33 'html_template' => '',
34 'deprecated' => '',
35 'content_element' => '',
36 'as_parent' => '',
37 'as_child' => '',
38 'params' => array(
39 array(
40 'heading' => __('Title','auxin-elements' ),
41 'description' => __('A title for instagram element', 'auxin-elements' ),
42 'param_name' => 'title',
43 'type' => 'textfield',
44 'value' => '',
45 'holder' => 'textfield',
46 'class' => 'title',
47 'admin_label' => true,
48 'dependency' => '',
49 'weight' => '',
50 'group' => '' ,
51 'edit_field_class' => ''
52 ),
53 array(
54 'heading' => __('Instagram user ID','auxin-elements' ),
55 'description' => sprintf(
56 __('Instagram User ID. Separate multiple IDs by commas. You can find the User ID with %sthis tool%s.', 'auxin-elements' ),
57 '<a href="https://smashballoon.com/instagram-feed/find-instagram-user-id/" target="_blank">',
58 '</a>'
59 ),
60 'param_name' => 'id',
61 'type' => 'textfield',
62 'value' => '',
63 'def_value' => '',
64 'holder' => 'textfield',
65 'class' => 'user_id',
66 'admin_label' => true,
67 'dependency' => '',
68 'weight' => '',
69 'group' => '' ,
70 'edit_field_class' => ''
71 ),
72 array(
73 'heading' => __('Number of photo','auxin-elements' ),
74 'description' => __('Number of photos to display initially. Maximum is 33.','auxin-elements' ),
75 'param_name' => 'num',
76 'type' => 'textfield',
77 'value' => '',
78 'def_value' => '',
79 'holder' => 'textfield',
80 'class' => 'num',
81 'admin_label' => true,
82 'dependency' => '',
83 'weight' => '',
84 'group' => '' ,
85 'edit_field_class' => ''
86 ),
87 array(
88 'heading' => __('Resolution/size of the photos. ','auxin-elements' ),
89 'description' => '',
90 'param_name' => 'imageres',
91 'type' => 'dropdown',
92 'def_value' => 'medium',
93 'value' => array(
94 'auto' => __('Auto', 'auxin-elements' ),
95 'thumb' => __('Thumb', 'auxin-elements' ),
96 'medium' => __('Medium', 'auxin-elements' ),
97 'full' => __('Full', 'auxin-elements' )
98 ),
99 'holder' => '',
100 'class' => 'border',
101 'admin_label' => true,
102 'dependency' => '',
103 'weight' => '',
104 'group' => '' ,
105 'edit_field_class' => ''
106 ),
107 array(
108 'heading' => __('Columns','auxin-elements' ),
109 'description' => __('Number of columns in the feed. 1 - 10.','auxin-elements' ),
110 'param_name' => 'cols',
111 'type' => 'textfield',
112 'value' => '',
113 'def_value' => '',
114 'holder' => 'textfield',
115 'class' => 'columns',
116 'admin_label' => true,
117 'dependency' => '',
118 'weight' => '',
119 'group' => '' ,
120 'edit_field_class' => ''
121 ),
122 array(
123 'heading' => __('Spacing around the photos','auxin-elements' ),
124 'description' => '',
125 'param_name' => 'imagepadding',
126 'type' => 'textfield',
127 'value' => '0',
128 'def_value' => '0',
129 'holder' => 'textfield',
130 'class' => 'height',
131 'admin_label' => true,
132 'dependency' => '',
133 'weight' => '',
134 'group' => '' ,
135 'edit_field_class' => ''
136 ),
137 array(
138 'heading' => __('Unit of the spacing.','auxin-elements' ),
139 'description' => '',
140 'param_name' => 'imagepaddingunit',
141 'type' => 'dropdown',
142 'def_value' => 'px',
143 'value' => array(
144 '%' => __('Percentage (%)', 'auxin-elements' ),
145 'px' => __('Pixels (px)', 'auxin-elements' ),
146 ),
147 'holder' => '',
148 'class' => 'border',
149 'admin_label' => true,
150 'dependency' => '',
151 'weight' => '',
152 'group' => '' ,
153 'edit_field_class' => ''
154 ),
155 // array(
156 // 'param_name' => 'width',
157 // 'type' => 'textfield',
158 // 'value' => '100',
159 // 'def_value' => '100',
160 // 'holder' => 'textfield',
161 // 'class' => 'width',
162 // 'heading' => __('width','auxin-elements' ),
163 // 'description' => '',
164 // 'admin_label' => true,
165 // 'dependency' => '',
166 // 'weight' => '',
167 // 'group' => '' ,
168 // 'edit_field_class' => ''
169 // ),
170 // array(
171 // 'param_name' => 'widthunit',
172 // 'type' => 'dropdown',
173 // 'def_value' => '%',
174 // 'value' => array(
175 // '%' => __('Percentage (%)', 'auxin-elements' ),
176 // 'px' => __('Pixels (px)', 'auxin-elements' ),
177 // ),
178 // 'holder' => '',
179 // 'class' => 'border',
180 // 'heading' => __(' The unit of the width.','auxin-elements' ),
181 // 'description' => '',
182 // 'admin_label' => true,
183 // 'dependency' => '',
184 // 'weight' => '',
185 // 'group' => '' ,
186 // 'edit_field_class' => ''
187 // ),
188 array(
189 'heading' => __('Height','auxin-elements' ),
190 'description' => __('The height of the feed','auxin-elements' ),
191 'param_name' => 'height',
192 'type' => 'textfield',
193 'value' => '',
194 'def_value' => '',
195 'holder' => 'textfield',
196 'class' => 'height',
197 'admin_label' => true,
198 'dependency' => '',
199 'weight' => '',
200 'group' => '' ,
201 'edit_field_class' => ''
202 ),
203 array(
204 'heading' => __('Unit of the height.','auxin-elements' ),
205 'description' => '',
206 'param_name' => 'heightunit',
207 'type' => 'dropdown',
208 'def_value' => 'px',
209 'value' => array(
210 '%' => __('Percentage (%)', 'auxin-elements' ),
211 'px' => __('Pixels (px)', 'auxin-elements' ),
212 ),
213 'holder' => '',
214 'class' => 'border',
215 'admin_label' => true,
216 'dependency' => '',
217 'weight' => '',
218 'group' => '' ,
219 'edit_field_class' => ''
220 ),
221 array(
222 'heading' => __('Background color','auxin-elements' ),
223 'description' => '',
224 'param_name' => 'background',
225 'type' => 'color',
226 'value' => '',
227 'def_value' => '',
228 'holder' => 'textfield',
229 'class' => 'background-color',
230 'admin_label' => true,
231 'dependency' => '',
232 'weight' => '',
233 'group' => '' ,
234 'edit_field_class' => ''
235 ),
236 array(
237 'heading' => __('Show header','auxin-elements' ),
238 'description' => __('Whether to show the feed header.', 'auxin-elements' ),
239 'param_name' => 'showheader',
240 'type' => 'aux_switch',
241 'def_value' => '',
242 'value' => '0',
243 'holder' => '',
244 'class' => 'showheader',
245 'admin_label' => true,
246 'dependency' => '',
247 'weight' => '',
248 'group' => '' ,
249 'edit_field_class' => ''
250 ),
251 array(
252 'heading' => __('Show follow button','auxin-elements' ),
253 'description' => __('Whether to show the Follow on Instagram button.', 'auxin-elements' ),
254 'param_name' => 'showfollow',
255 'type' => 'aux_switch',
256 'def_value' => '',
257 'value' => '0',
258 'holder' => '',
259 'class' => 'showfollow',
260 'admin_label' => true,
261 'dependency' => '',
262 'weight' => '',
263 'group' => '' ,
264 'edit_field_class' => ''
265 ),
266 array(
267 'heading' => __('Show load more button','auxin-elements' ),
268 'description' => __(' Whether to show the load more button.', 'auxin-elements' ),
269 'param_name' => 'showbutton',
270 'type' => 'aux_switch',
271 'def_value' => '',
272 'value' => '0',
273 'holder' => '',
274 'class' => 'showbutton',
275 'admin_label' => true,
276 'dependency' => '',
277 'weight' => '',
278 'group' => '' ,
279 'edit_field_class' => ''
280 ),
281 array(
282 'heading' => __('Extra class name','auxin-elements' ),
283 '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' ),
284 'param_name' => 'extra_classes',
285 'type' => 'textfield',
286 'value' => '',
287 'def_value' => '',
288 'holder' => 'textfield',
289 'class' => 'extra_classes',
290 'admin_label' => true,
291 'dependency' => '',
292 'weight' => '',
293 'group' => '' ,
294 'edit_field_class' => ''
295 )
296 )
297 );
298
299 return $master_array;
300 }
301
302 add_filter( 'auxin_master_array_shortcodes', 'auxin_get_instagram_master_array', 10, 1 );
303
304 // This is the widget call back in fact the front end out put of this widget comes from this function
305 function auxin_widget_instagram_feed_callback( $atts, $shortcode_content = null ) {
306
307 $default_atts = array(
308 'title' => '',
309 'id' => '',
310 'width' => '100',
311 'widthunit' => '%',
312 'height' => '',
313 'heightunit' => 'px',
314 'background' => '',
315 'imagepadding' => '0',
316 'imagepaddingunit' => 'px',
317 'cols' => '',
318 'num' => '',
319 'showheader' => '0',
320 'imageres' => 'medium',
321 'showfollow' => '0',
322 'showbutton' => '0',
323
324 'extra_classes' => '', // custom css class names for this element
325 'custom_el_id' => '', // custom id attribute for this element
326 'base_class' => 'aux-widget-instagram' // base class name for container
327 );
328
329 $result = auxin_get_widget_scafold( $atts, $default_atts, $shortcode_content );
330 extract( $result['parsed_atts'] );
331
332 ob_start();
333
334 // widget header ------------------------------
335 echo wp_kses_post( $result['widget_header'] );
336 echo wp_kses_post( $result['widget_title'] );
337
338
339 // widget custom output -----------------------
340 if( ! empty( $id ) ) {
341 $id =" id=$id";
342 }
343
344 // if( ! empty( $width ) ) {
345 // $width =" width=$width";
346 // }
347
348 if( ! empty( $height ) ) {
349 $height =" height=$height";
350 }
351
352 if( ! empty( $background ) ) {
353 $background =" background=\"$background\"";
354 }
355
356 if( ! empty( $cols ) ) {
357 $cols =" cols=$cols";
358 }
359
360 if( ! empty( $num ) ) {
361 $num =" num=$num";
362 }
363
364 if( ! empty( $extra_classes ) ) {
365 $extra_classes =" class=\"$extra_classes\"";
366 }
367
368 $instagram_feed_shortcode = "[instagram-feed width=100 widthunit=\"%\"".
369 $id.
370 " showbutton=$showbutton".
371 " showfollow=$showfollow".
372 " showheader=$showheader".
373 " imageres=\"$imageres\"".
374 // $width.
375 //" widthunit=\"$widthunit\"".
376 $height.
377 " heightunit=\"$heightunit\"".
378 " imagepaddingunit=\"$imagepaddingunit\"".
379 " imagepadding=$imagepadding".
380 $background.
381 $cols.
382 $num.
383 $extra_classes.
384 "]";
385
386 echo do_shortcode( $instagram_feed_shortcode );
387 // widget footer ------------------------------
388 echo wp_kses_post( $result['widget_footer'] );
389
390 return ob_get_clean();
391 }
392