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 / audio.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
audio.php
198 lines
1 <?php
2 /**
3 * Audio player 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_audio_master_array( $master_array ) {
13
14 $master_array['aux_audio'] = array(
15 'name' => __("[Phlox] Audio", 'auxin-elements' ),
16 'auxin_output_callback' => 'auxin_widget_audio_callback',
17 'base' => 'aux_audio',
18 'description' => __('Audio player', 'auxin-elements' ),
19 'description' => __('It adds an audio player element.', 'auxin-elements'),
20 'class' => 'aux-widget-audio',
21 'show_settings_on_create' => true,
22 'weight' => 1,
23 'is_widget' => true,
24 'is_shortcode' => true,
25 'is_so' => true,
26 'is_vc' => true,
27 'category' => THEME_NAME,
28 'group' => '',
29 'admin_enqueue_js' => '',
30 'admin_enqueue_css' => '',
31 'front_enqueue_js' => '',
32 'front_enqueue_css' => '',
33 'icon' => 'auxin-element auxin-sound-cloud',
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 'param_name' => 'title',
44 'type' => 'textfield',
45 'value' => '',
46 'holder' => 'textfield',
47 'class' => 'title',
48 'heading' => __('Title','auxin-elements' ),
49 'description' => __('The title of audio element.','auxin-elements' ),
50 'admin_label' => true,
51 'dependency' => '',
52 'weight' => '',
53 'group' => '' ,
54 'edit_field_class' => ''
55 ),
56 array(
57 'param_name' => 'src',
58 'type' => 'aux_select_audio',
59 'value' => '',
60 'holder' => 'aux_select_audio',
61 'class' => 'audio_src',
62 'heading' => __('Audio file(MP3 or ogg)','auxin-elements' ),
63 'description' => '',
64 'admin_label' => true,
65 'dependency' => '',
66 'weight' => '',
67 'group' => '' ,
68 'edit_field_class' => ''
69 ),
70 array(
71 'param_name' => 'loop',
72 'type' => 'aux_switch',
73 'def_value' => '0',
74 'value' => '0',
75 'class' => '',
76 'heading' => __('Repeat the audio','auxin-elements' ),
77 'description' => '',
78 'admin_label' => true,
79 'dependency' => '',
80 'weight' => '',
81 'group' => '',
82 'edit_field_class' => ''
83 ),
84 array(
85 'param_name' => 'autoplay',
86 'type' => 'aux_switch',
87 'def_value' => '0',
88 'value' => '0',
89 'class' => '',
90 'heading' => __('AutoPlay','auxin-elements' ),
91 'description' => __('Play the audio file automatically.','auxin-elements' ),
92 'admin_label' => true,
93 'dependency' => '',
94 'weight' => '',
95 'group' => '',
96 'edit_field_class' => ''
97 ),
98 array(
99 'param_name' => 'skin',
100 'type' => 'aux_visual_select',
101 'def_value' => 'dark',
102 'choices' => array(
103 'dark' => array(
104 'label' => __('Dark', 'auxin-elements'),
105 'image' => AUX_URL . 'images/visual-select/audio-player-dark.svg'
106 ),
107 'light' => array(
108 'label' => __('Light', 'auxin-elements'),
109 'image' => AUX_URL . 'images/visual-select/audio-player-light.svg'
110 )
111 ),
112 'holder' => 'dropdown',
113 'class' => 'skin',
114 'heading' => __('Skin','auxin-elements' ),
115 'description' => __('The skin of audio element','auxin-elements' ),
116 'admin_label' => true,
117 'dependency' => '',
118 'weight' => '',
119 'group' => '' ,
120 'edit_field_class' => ''
121 ),
122 array(
123 'param_name' => 'extra_classes',
124 'type' => 'textfield',
125 'value' => '',
126 'def_value' => '',
127 'holder' => 'textfield',
128 'class' => 'extra_classes',
129 'heading' => __('Extra class name','auxin-elements' ),
130 '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' ),
131 'admin_label' => true,
132 'dependency' => '',
133 'weight' => '',
134 'group' => '' ,
135 'edit_field_class' => ''
136 )
137
138 )
139 );
140
141 return $master_array;
142 }
143
144 add_filter( 'auxin_master_array_shortcodes', 'auxin_get_audio_master_array', 10, 1 );
145
146
147 /**
148 * This is the widget callback in fact the front end out put of this widget comes from this function
149 */
150 function auxin_widget_audio_callback( $atts, $shortcode_content = null ){
151
152 // Defining default attributes
153 $default_atts = array(
154 'title' => '', // section title
155
156 'src' => '',
157 'loop' => '',
158 'autoplay' => '',
159 'preload' => '',
160 'skin' => '', // dark or light
161
162 'extra_classes' => '', // custom css class names for this element
163 'custom_el_id' => '', // custom id attribute for this element
164 'base_class' => 'aux-widget-audio' // base class name for container
165 );
166
167 $result = auxin_get_widget_scafold( $atts, $default_atts, $shortcode_content );
168 extract( $result['parsed_atts'] );
169
170 ob_start();
171
172 // widget header ------------------------------
173 echo $result['widget_header'];
174 echo $result['widget_title'];
175
176 if( empty( $skin ) ){
177 $skin = 'dark';
178 }
179
180 $class = 'wp-audio-shortcode aux-player-' . esc_attr( $skin );
181
182 // convert attachment id to url
183 if( is_numeric( $src ) ){
184 $src = wp_get_attachment_url( $src );
185 }
186
187 if( $provider = auxin_extract_embed_provider_name( $src ) ){
188 $class .= ' aux-provider-'. $provider;
189 }
190
191 echo do_shortcode( sprintf( '[audio src="%s" loop="%s" autoplay="%s" preload="%s" class="%s"]', $src, $loop, $autoplay, $preload, $class ) );
192
193 // widget footer ------------------------------
194 echo $result['widget_footer'];
195
196 return ob_get_clean();
197 }
198