· 6 years ago · Oct 23, 2019, 07:26 PM
1<?php
2/**
3 * Setup theme functions for Experon.
4 *
5 * @package ThinkUpThemes
6 */
7
8// Declare latest theme version
9$GLOBALS['thinkup_theme_version'] = '1.8.12';
10
11// WooCommerce API Manager Integration
12if ( ! defined( 'THINKUP_UPDATE_THEME_UPRADE_URL' ) ) {
13 define( 'THINKUP_UPDATE_THEME_UPRADE_URL', 'http://www.thinkupthemes.com/' );
14}
15
16if ( ! defined( 'THINKUP_UPDATE_THEME_RENEW_LICENSE_URL' ) ) {
17 define( 'THINKUP_UPDATE_THEME_RENEW_LICENSE_URL', 'http://www.thinkupthemes.com/my-account' );
18}
19
20if ( ! defined( 'THINKUP_UPDATE_THEME_SETTINGS_MENU_TITLE' ) ) {
21 define( 'THINKUP_UPDATE_THEME_SETTINGS_MENU_TITLE', 'API License Key' );
22}
23
24if ( ! defined( 'THINKUP_UPDATE_THEME_SETTINGS_TITLE' ) ) {
25 define( 'THINKUP_UPDATE_THEME_SETTINGS_TITLE', 'Activate API License Key' );
26}
27
28if ( ! defined( 'THINKUP_UPDATE_THEME_TEXT_DOMAIN' ) ) {
29 define( 'THINKUP_UPDATE_THEME_TEXT_DOMAIN', 'experon' );
30}
31
32require_once( get_template_directory() . '/lib/update-api/am.php' );
33
34// Setup content width
35function thinkup_content_width() {
36 $GLOBALS['content_width'] = apply_filters( 'thinkup_content_width', 1170 );
37}
38add_action( 'after_setup_theme', 'thinkup_content_width', 0 );
39
40
41//----------------------------------------------------------------------------------
42// Add Theme Options Panel & Assign Variable Values
43//----------------------------------------------------------------------------------
44
45 // Add Redux Framework
46 require_once( get_template_directory() . '/admin/main/framework.php' );
47 require_once( get_template_directory() . '/admin/main/options.php' );
48 require_once( get_template_directory() . '/admin/main-extensions/extensions-init.php' );
49
50 // Add theme options to page/post meta.
51 require_once ( get_template_directory() . '/admin/meta/meta-functions.php' );
52
53 // Load Theme Variables.
54 require_once( get_template_directory() . '/admin/main/options/00.variables.php' );
55
56 // Load demo functions if required.
57 if( file_exists( get_template_directory() . '/demo/functions/demo-variable.php' ) )
58 include get_template_directory() . '/demo/functions/demo-variable.php';
59
60 // Add Theme Options Features.
61 require_once( get_template_directory() . '/admin/main/options/00.theme-setup.php' );
62 require_once( get_template_directory() . '/admin/main/options/01.general-settings.php' );
63 require_once( get_template_directory() . '/admin/main/options/02.homepage.php' );
64 require_once( get_template_directory() . '/admin/main/options/03.header.php' );
65 require_once( get_template_directory() . '/admin/main/options/04.footer.php' );
66 require_once( get_template_directory() . '/admin/main/options/05.blog.php' );
67 require_once( get_template_directory() . '/admin/main/options/06.portfolio.php' );
68 require_once( get_template_directory() . '/admin/main/options/07.contact-page.php' );
69 require_once( get_template_directory() . '/admin/main/options/08.special-pages.php' );
70 require_once( get_template_directory() . '/admin/main/options/09.notification-bar.php' );
71 require_once( get_template_directory() . '/admin/main/options/10.seo.php' );
72 require_once( get_template_directory() . '/admin/main/options/11.typography.php' );
73 require_once( get_template_directory() . '/admin/main/options/12.custom-styling.php' );
74
75 // Add WooCommerce functions if WooCommerce plugin is activated.
76 if ( class_exists( 'Woocommerce' ) ) {
77 if ( thinkup_var_cookie( 'thinkup_woocommerce_styleswitch' ) == '1' ) {
78
79 require_once( get_template_directory() . '/admin/main/options/13.woocommerce.php' );
80
81 // Add post like.
82 require_once( get_template_directory() . '/lib/extentions/post-like/post-like.php' );
83
84 } else {
85
86 // Ignore WC template files included with the theme
87 function thinkup_woo_ignore_files_theme( $template, $slug, $name ) {
88
89 // Default path to template files in WooCommerce plugin folder
90 $template = WC()->plugin_path() . "/templates/{$slug}-{$name}.php";
91 return $template;
92
93 }
94 add_filter( 'wc_get_template_part', 'thinkup_woo_ignore_files_theme', 10, 3 );
95
96 // Stops issue where sidebar displays if using default WooCommerce layout.
97 function woocommerce_get_sidebar() {};
98
99 }
100 }
101
102 // Add unlimited sidebars.
103 require_once( get_template_directory() . '/lib/extentions/unlimited-sidebars/class.SidebarGenerator.php' );
104
105 // Only output the following if using PHP >= 5.6.0
106 if ( version_compare( PHP_VERSION, '5.6.0' ) >= 0 ) {
107
108 // Add widget features.
109 include_once( get_template_directory() . '/lib/widgets/categories.php' );
110 include_once( get_template_directory() . '/lib/widgets/childmenu.php' );
111 include_once( get_template_directory() . '/lib/widgets/flickr.php' );
112 include_once( get_template_directory() . '/lib/widgets/logo_text.php' );
113 include_once( get_template_directory() . '/lib/widgets/popularposts.php' );
114 include_once( get_template_directory() . '/lib/widgets/recentcomments.php' );
115 include_once( get_template_directory() . '/lib/widgets/recentposts.php' );
116 include_once( get_template_directory() . '/lib/widgets/searchfield.php' );
117 include_once( get_template_directory() . '/lib/widgets/tabs.php' );
118 include_once( get_template_directory() . '/lib/widgets/tagscloud.php' );
119 include_once( get_template_directory() . '/lib/widgets/twitterfeed.php' );
120
121 // Add widget used in page builder.
122 include_once( get_template_directory() . '/lib/widgets_builder/carousel_client/carousel_client.php' );
123 include_once( get_template_directory() . '/lib/widgets_builder/carousel_blog/carousel_blog.php' );
124 include_once( get_template_directory() . '/lib/widgets_builder/carousel_portfolio/carousel_portfolio.php' );
125 include_once( get_template_directory() . '/lib/widgets_builder/carousel_team/carousel_team.php' );
126 include_once( get_template_directory() . '/lib/widgets_builder/carousel_testimonial/carousel_testimonial.php' );
127 include_once( get_template_directory() . '/lib/widgets_builder/heading/heading.php' );
128 include_once( get_template_directory() . '/lib/widgets_builder/icons_fontawesome/icons_fontawesome.php' );
129 include_once( get_template_directory() . '/lib/widgets_builder/image/image.php' );
130 include_once( get_template_directory() . '/lib/widgets_builder/item_client/item_client.php' );
131 include_once( get_template_directory() . '/lib/widgets_builder/item_portfolio/item_portfolio.php' );
132 include_once( get_template_directory() . '/lib/widgets_builder/item_team/item_team.php' );
133 include_once( get_template_directory() . '/lib/widgets_builder/item_testimonial/item_testimonial.php' );
134 include_once( get_template_directory() . '/lib/widgets_builder/progress_round/progress_round.php' );
135 include_once( get_template_directory() . '/lib/widgets_builder/services/services.php' );
136
137 // Add shortcodes.
138 if( file_exists( get_template_directory() . '/lib/shortcodes/framework.php' ) )
139 require_once( get_template_directory() . '/lib/shortcodes/framework.php' );
140
141 }
142
143 // Only output the following if simplexml extension is enabled
144 if ( extension_loaded( 'simplexml' ) ) {
145
146 // Add Upgrade Notice
147 if( file_exists( get_template_directory() . '/lib/update/update_notice_experon.php' ) )
148 require_once( get_template_directory() . '/lib/update/update_notice_experon.php' );
149
150 // Add Demo Installer
151 if( file_exists( get_template_directory() . '/lib/demoinstaller/init.php' ) )
152 require_once( get_template_directory() . '/lib/demoinstaller/init.php' );
153
154 }
155
156
157//----------------------------------------------------------------------------------
158// Assign Theme Specific Functions
159//----------------------------------------------------------------------------------
160
161// Setup theme features, register menus and scripts.
162if ( ! function_exists( 'thinkup_themesetup' ) ) {
163
164 function thinkup_themesetup() {
165
166 // Load required files
167 require_once ( get_template_directory() . '/admin/meta/init.php' );
168 require_once ( get_template_directory() . '/lib/functions/extras.php' );
169 require_once ( get_template_directory() . '/lib/functions/template-tags.php' );
170
171 // Register Custom Post Types
172 require_once ( get_template_directory() . '/lib/custom_posts/client/register-client.php' );
173 require_once ( get_template_directory() . '/lib/custom_posts/portfolio/register-portfolio.php' );
174 require_once ( get_template_directory() . '/lib/custom_posts/team/register-team.php' );
175 require_once ( get_template_directory() . '/lib/custom_posts/testimonial/register-testimonial.php' );
176
177 // Make theme translation ready.
178 load_theme_textdomain( 'experon', get_template_directory() . '/languages' );
179
180 // Add default theme functions.
181 add_theme_support( 'automatic-feed-links' );
182 add_theme_support( 'post-thumbnails' );
183 add_theme_support( 'post-formats', array( 'gallery', 'image', 'video', 'audio', 'status', 'quote', 'link', 'chat' ) );
184 add_theme_support( 'title-tag' );
185
186 // Add support for custom background
187 add_theme_support( 'custom-background' );
188
189 // Add support for custom header
190 $thinkup_header_args = apply_filters( 'thinkup_custom_header', array( 'height' => 200, 'width' => 1600, 'header-text' => false, 'flex-height' => true ) );
191 add_theme_support( 'custom-header', $thinkup_header_args );
192
193 // Add support for custom logo
194 add_theme_support( 'custom-logo', array( 'height' => 90, 'width' => 200, 'flex-width' => true, 'flex-height' => true ) );
195
196 // Add WooCommerce functions.
197 add_theme_support( 'woocommerce' );
198 add_theme_support( 'wc-product-gallery-zoom' );
199 add_theme_support( 'wc-product-gallery-lightbox' );
200 add_theme_support( 'wc-product-gallery-slider' );
201
202 // Add excerpt support to pages.
203 add_post_type_support( 'page', 'excerpt' );
204
205 // Register theme menu's.
206 register_nav_menus( array( 'pre_header_menu' => __( 'Pre Header Menu', 'experon' ) ) );
207 register_nav_menus( array( 'header_menu' => __( 'Primary Header Menu', 'experon' ) ) );
208 register_nav_menus( array( 'sub_footer_menu' => __( 'Footer Menu', 'experon' ) ) );
209 }
210}
211add_action( 'after_setup_theme', 'thinkup_themesetup' );
212
213
214//----------------------------------------------------------------------------------
215// Register Front-End Styles And Scripts
216//----------------------------------------------------------------------------------
217
218function thinkup_frontscripts() {
219
220 global $thinkup_theme_version;
221
222 // Add 3rd party stylesheets
223 wp_enqueue_style( 'prettyPhoto', get_template_directory_uri() . '/lib/extentions/prettyPhoto/css/prettyPhoto.css', '', '3.1.6' );
224
225 // Add 3rd party stylesheets - Prefixed to prevent conflict between library versions
226 wp_enqueue_style( 'thinkup-bootstrap', get_template_directory_uri() . '/lib/extentions/bootstrap/css/bootstrap.min.css', '', '2.3.2' );
227
228 // Add 3rd party Font Packages
229 wp_enqueue_style( 'dashicons' );
230 wp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/lib/extentions/font-awesome/css/font-awesome.min.css', '', '4.7.0' );
231
232 // Add 3rd party scripts
233 wp_enqueue_script( 'imagesloaded' );
234 wp_enqueue_script( 'prettyPhoto', ( get_template_directory_uri().'/lib/extentions/prettyPhoto/js/jquery.prettyPhoto.js' ), array( 'jquery' ), '3.1.6', 'true' );
235 wp_enqueue_script( 'modernizr', get_template_directory_uri() . '/lib/scripts/modernizr.js', array( 'jquery' ), '2.6.2', 'true' );
236 wp_enqueue_script( 'sticky', get_template_directory_uri() . '/lib/scripts/plugins/sticky/jquery.sticky.js', '1.0.0', 'true' );
237 wp_enqueue_script( 'waypoints', get_template_directory_uri() . '/lib/scripts/plugins/waypoints/waypoints.min.js', array( 'jquery' ), '2.0.3', 'true' );
238 wp_enqueue_script( 'waypoints-sticky', get_template_directory_uri() . '/lib/scripts/plugins/waypoints/waypoints-sticky.min.js', array( 'jquery' ), '2.0.3', 'true' );
239 wp_enqueue_script( 'videobg', get_template_directory_uri() . '/lib/scripts/plugins/videoBG/jquery.videoBG.js', array( 'jquery' ), '0.2', '' );
240 wp_enqueue_script( 'jquery-scrollup', get_template_directory_uri() . '/lib/scripts/plugins/scrollup/jquery.scrollUp.min.js', array( 'jquery' ), '2.4.1', 'true' );
241
242 // Add 3rd party scripts - Prefixed to prevent conflict between library versions
243 wp_enqueue_script( 'thinkup-bootstrap', get_template_directory_uri() . '/lib/extentions/bootstrap/js/bootstrap.js', array( 'jquery' ), '2.3.2', 'true' );
244
245 // Register 3rd party scripts
246 wp_register_script( 'retina', get_template_directory_uri() . '/lib/scripts/retina.js', array( 'jquery' ), '0.0.2', '', true );
247
248 // Add theme stylesheets
249 wp_enqueue_style( 'thinkup-shortcodes', get_template_directory_uri() . '/styles/style-shortcodes.css', '', $thinkup_theme_version );
250 wp_enqueue_style( 'thinkup-style', get_stylesheet_uri(), '', $thinkup_theme_version );
251
252 // Add theme scripts
253 wp_enqueue_script( 'thinkup-frontend', get_template_directory_uri() . '/lib/scripts/main-frontend.js', array( 'jquery' ), $thinkup_theme_version, 'true' );
254
255 // Register theme stylesheets
256 wp_register_style( 'thinkup-responsive', get_template_directory_uri() . '/styles/style-responsive.css', '', $thinkup_theme_version );
257
258 // Register WooCommerce (theme specific) stylesheets
259 wp_register_style( 'thinkup-woocommerce', get_template_directory_uri() . '/styles/woocommerce/css/woocommerce.css', '', $thinkup_theme_version );
260 wp_register_style( 'thinkup-woocommerce-theme', get_template_directory_uri() . '/styles/woocommerce/css/woocommerce-theme.css', '', $thinkup_theme_version );
261
262 // Add Masonry script to all archive pages
263 if ( thinkup_check_isblog() or is_page_template( 'template-blog.php' ) or is_archive()
264 or is_page_template( 'template-testimonial.php' ) or is_post_type_archive( 'testimonial' )
265 or is_page_template( 'template-portfolio.php' ) or is_post_type_archive( 'portfolio' )
266 or is_page_template( 'template-team.php' ) or is_post_type_archive( 'team' ) ) {
267 wp_enqueue_script( 'jquery-masonry' );
268 }
269
270 // Add Portfolio styles & scripts
271 if ( is_post_type_archive( 'portfolio' ) or is_page_template( 'template-portfolio.php' ) or is_singular( 'portfolio' ) ) {
272 wp_enqueue_style( 'thinkup-portfolio', get_template_directory_uri() . '/styles/style-portfolio.css', '', $thinkup_theme_version );
273 }
274 if ( is_post_type_archive( 'portfolio' ) or is_page_template( 'template-portfolio.php' ) ) {
275 wp_enqueue_script( 'thinkup-portfolio', get_template_directory_uri() . '/lib/custom_posts/portfolio/js/portfolio.js', array( 'jquery' ), $thinkup_theme_version, true );
276 wp_enqueue_script( 'thinkup-quicksand', get_template_directory_uri() . '/lib/scripts/plugins/quicksand/jquery.quicksand.js', array( 'jquery' ), array( 'jquery' ), '1.3', true );
277 wp_enqueue_script( 'thinkup-quicksand-scale', get_template_directory_uri() . '/lib/scripts/plugins/quicksand/jquery-animate-css-rotate-scale.js', array( 'jquery' ), array( 'jquery' ), '1.3', true );
278 }
279
280 // Add ThinkUpSlider scripts
281 if ( is_front_page() ) {
282 wp_enqueue_script( 'responsiveslides', get_template_directory_uri() . '/lib/scripts/plugins/ResponsiveSlides/responsiveslides.min.js', array( 'jquery' ), '1.54', 'true' );
283 wp_enqueue_script( 'thinkup-responsiveslides', get_template_directory_uri() . '/lib/scripts/plugins/ResponsiveSlides/responsiveslides-call.js', array( 'jquery' ), $thinkup_theme_version, 'true' );
284 }
285
286 // Add comments reply script
287 if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
288 wp_enqueue_script( 'comment-reply' );
289 }
290}
291add_action( 'wp_enqueue_scripts', 'thinkup_frontscripts', 10 );
292
293
294//----------------------------------------------------------------------------------
295// Register Back-End Styles And Scripts
296//----------------------------------------------------------------------------------
297
298function thinkup_adminscripts() {
299
300 global $thinkup_theme_version;
301
302 // Load scripts only used on Demo Content page.
303 if( get_current_screen()->id == 'appearance_page_easint' ) {
304 wp_enqueue_style( 'bootstrap', '//netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css', '', '' );
305 wp_enqueue_script( 'bootstrap', '//netdna.bootstrapcdn.com/bootstrap/3.0.2/js/bootstrap.min.js', array( 'jquery' ), '' );
306 wp_enqueue_script( 'thinkup-confirm', get_template_directory_uri() . '/lib/scripts/plugins/confirm/jquery.confirm.js', array( 'jquery' ), '2.3.1' );
307 }
308
309 // Add theme stylesheets
310 wp_enqueue_style( 'thinkup-backend', get_template_directory_uri() . '/styles/backend/style-backend.css', '', $thinkup_theme_version );
311 wp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/lib/extentions/font-awesome/css/font-awesome.min.css', '', '4.7.0' );
312
313 // Add theme scripts
314 wp_enqueue_script( 'thinkup-backend', get_template_directory_uri() . '/lib/scripts/main-backend.js', array( 'jquery' ), $thinkup_theme_version );
315}
316add_action( 'admin_enqueue_scripts', 'thinkup_adminscripts' );
317
318
319//----------------------------------------------------------------------------------
320// Register Shortcodes Styles And Scripts
321//----------------------------------------------------------------------------------
322
323function thinkup_shortcodescripts() {
324
325 global $thinkup_theme_version;
326
327 // Add shortcode Styles
328 wp_enqueue_style( 'thinkup-portfolio', get_template_directory_uri() . '/styles/style-portfolio.css', '', $thinkup_theme_version );
329
330 // Add shortcode Scripts
331 wp_enqueue_script( 'carouFredSel', ( get_template_directory_uri(). '/lib/scripts/plugins/carouFredSel/jquery.carouFredSel-6.2.1.js' ), array( 'jquery' ), '', '6.2.1', true );
332 wp_enqueue_script( 'knob', get_template_directory_uri() . '/lib/scripts/plugins/knob/jquery.knob.js', array( 'jquery' ), '1.2.8', 'false' );
333 wp_enqueue_script( 'responsiveslides', get_template_directory_uri() . '/lib/scripts/plugins/ResponsiveSlides/responsiveslides.min.js', array( 'jquery' ), '1.54', 'true' );
334 wp_enqueue_script( 'thinkup-responsiveslides', get_template_directory_uri() . '/lib/scripts/plugins/ResponsiveSlides/responsiveslides-call.js', array( 'jquery' ), $thinkup_theme_version, 'true' );
335}
336add_action( 'wp_enqueue_scripts', 'thinkup_shortcodescripts', 10 );
337
338//----------------------------------------------------------------------------------
339// Register Theme Widgets
340//----------------------------------------------------------------------------------
341
342function thinkup_widgets_init() {
343
344 // Register default sidebar
345 register_sidebar( array(
346 'name' => 'Sidebar',
347 'id' => 'sidebar-1',
348 'before_widget' => '<aside class="widget %2$s">',
349 'after_widget' => '</aside>',
350 'before_title' => '<h3 class="widget-title">',
351 'after_title' => '</h3>',
352 ) );
353
354 // Register footer sidebars
355 register_sidebar( array(
356 'name' => 'Footer Column 1',
357 'id' => 'footer-w1',
358 'before_widget' => '<aside class="widget %2$s">',
359 'after_widget' => '</aside>',
360 'before_title' => '<h3 class="footer-widget-title"><span>',
361 'after_title' => '</span></h3>',
362 ) );
363
364 register_sidebar( array(
365 'name' => 'Footer Column 2',
366 'id' => 'footer-w2',
367 'before_widget' => '<aside class="widget %2$s">',
368 'after_widget' => '</aside>',
369 'before_title' => '<h3 class="footer-widget-title"><span>',
370 'after_title' => '</span></h3>',
371 ) );
372
373 register_sidebar( array(
374 'name' => 'Footer Column 3',
375 'id' => 'footer-w3',
376 'before_widget' => '<aside class="widget %2$s">',
377 'after_widget' => '</aside>',
378 'before_title' => '<h3 class="footer-widget-title"><span>',
379 'after_title' => '</span></h3>',
380 ) );
381
382 register_sidebar( array(
383 'name' => 'Footer Column 4',
384 'id' => 'footer-w4',
385 'before_widget' => '<aside class="widget %2$s">',
386 'after_widget' => '</aside>',
387 'before_title' => '<h3 class="footer-widget-title"><span>',
388 'after_title' => '</span></h3>',
389 ) );
390
391 register_sidebar( array(
392 'name' => 'Footer Column 5',
393 'id' => 'footer-w5',
394 'before_widget' => '<aside class="widget %2$s">',
395 'after_widget' => '</aside>',
396 'before_title' => '<h3 class="footer-widget-title"><span>',
397 'after_title' => '</span></h3>',
398 ) );
399
400 register_sidebar( array(
401 'name' => 'Footer Column 6',
402 'id' => 'footer-w6',
403 'before_widget' => '<aside class="widget %2$s">',
404 'after_widget' => '</aside>',
405 'before_title' => '<h3 class="footer-widget-title"><span>',
406 'after_title' => '</span></h3>',
407 ) );
408
409 // Register sub-footer sidebars
410 register_sidebar( array(
411 'name' => 'Sub-Footer Column 1',
412 'id' => 'sub-footer-w1',
413 'before_widget' => '<aside class="widget %2$s">',
414 'after_widget' => '</aside>',
415 'before_title' => '<h3 class="sub-footer-widget-title"><span>',
416 'after_title' => '</span></h3>',
417 ) );
418
419 register_sidebar( array(
420 'name' => 'Sub-Footer Column 2',
421 'id' => 'sub-footer-w2',
422 'before_widget' => '<aside class="widget %2$s">',
423 'after_widget' => '</aside>',
424 'before_title' => '<h3 class="sub-footer-widget-title"><span>',
425 'after_title' => '</span></h3>',
426 ) );
427}
428add_action( 'widgets_init', 'thinkup_widgets_init' );
429remove_action( 'wp_enqueue_scripts', 'wpcf7_recaptcha_enqueue_scripts' )
430if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
431 add_action( 'wp_enqueue_scripts', 'wpcf7_recaptcha_enqueue_scripts', 10, 0 );
432}