gs/login', 'admin/settings/custom-css', 'admin/settings/custom-js', 'admin/settings/social', 'admin/settings/performance', 'admin/settings/other', 'admin/settings/maintenance', 'admin/settings/white-label', 'admin/settings/import', 'admin/settings/wishlist', 'integrations/woocommerce/modules/variation-gallery', 'integrations/woocommerce/modules/variation-gallery-new', 'integrations/woocommerce/modules/wishlist/class-wc-wishlist', 'integrations/woocommerce/modules/shipping-progress-bar/class-main', 'integrations/woocommerce/modules/quick-buy/class-main', 'integrations/woocommerce/modules/counter-visitors/class-main', 'integrations/woocommerce/modules/linked-variations/class-main', 'integrations/woocommerce/modules/unit-of-measure/class-main', 'integrations/woocommerce/modules/show-single-variations/class-main', 'integrations/woocommerce/modules/frequently-bought-together/class-main', 'integrations/woocommerce/modules/sold-counter/class-main', 'integrations/woocommerce/modules/dynamic-discounts/class-main', ); if ( did_action( 'elementor/loaded' ) ) { $files[] = 'integrations/elementor/helpers'; } foreach ( $files as $file ) { require_once get_parent_theme_file_path( WOODMART_FRAMEWORK . '/' . $file . '.php' ); } } /** * Register main theme classes. * * @return void */ private function register_classes() { foreach ( $this->register_classes as $class ) { Registry::getInstance()->$class; } } /** * Enqueue files for WPB page builder. * * @return void */ private function wpb_files_include() { if ( 'wpb' !== woodmart_get_current_page_builder() || ! defined( 'WPB_VC_VERSION' ) ) { return; } $files = array( 'integrations/visual-composer/classes/class-vctemplates', 'integrations/visual-composer/classes/class-wpbcssgenerator', 'integrations/visual-composer/functions', 'integrations/visual-composer/global-maps', 'integrations/visual-composer/fields/vc-functions', 'integrations/visual-composer/fields/fields-css', 'integrations/visual-composer/fields/image-hotspot', 'integrations/visual-composer/fields/title-divider', 'integrations/visual-composer/fields/slider', 'integrations/visual-composer/fields/responsive-size', 'integrations/visual-composer/fields/responsive-spacing', 'integrations/visual-composer/fields/image-select', 'integrations/visual-composer/fields/dropdown', 'integrations/visual-composer/fields/css-id', 'integrations/visual-composer/fields/gradient', 'integrations/visual-composer/fields/colorpicker', 'integrations/visual-composer/fields/datepicker', 'integrations/visual-composer/fields/switch', 'integrations/visual-composer/fields/button-set', 'integrations/visual-composer/fields/empty-space', 'integrations/visual-composer/fields/new/slider', 'integrations/visual-composer/fields/new/colorpicker', 'integrations/visual-composer/fields/new/box-shadow', 'integrations/visual-composer/fields/new/number', 'integrations/visual-composer/fields/new/select', 'integrations/visual-composer/fields/new/fonts', 'integrations/visual-composer/fields/new/dimensions', 'integrations/visual-composer/fields/new/upload', 'integrations/visual-composer/fields/new/notice', ); foreach ( $files as $file ) { require_once get_parent_theme_file_path( WOODMART_FRAMEWORK . '/' . $file . '.php' ); } } /** * Enqueue elements map for WPB page builder. * * @return void */ private function wpb_element_files_include() { $files = array( 'social', 'info-box', 'button', 'author-area', 'promo-banner', 'instagram', 'images-gallery', 'size-guide', ); $woo_files = array( 'products-tabs', 'brands', 'categories', 'product-filters', 'products-widget', 'products', ); $wpb_files = array( 'register-maps', 'parallax-scroll', '3d-view', 'products-tabs', 'ajax-search', 'counter', 'blog', 'brands', 'countdown-timer', 'extra-menu', 'google-map', 'image-hotspot', 'list', 'mega-menu', 'menu-price', 'nested-carousel', 'popup', 'portfolio', 'pricing-tables', 'categories', 'product-filters', 'products', 'responsive-text-block', 'text-block', 'marquee', 'image', 'mailchimp', 'title', 'row-divider', 'slider', 'team-member', 'testimonials', 'timeline', 'twitter', 'video-poster', 'compare', 'wishlist', 'html-block', 'tabs', 'accordion', 'sidebar', 'products-widget', 'off-canvas-column-btn', 'open-street-map', 'table', 'video', ); if ( 'wpb' === woodmart_get_current_page_builder() && defined( 'WPB_VC_VERSION' ) ) { $files = array_merge( $files, $wpb_files ); if ( ! woodmart_woocommerce_installed() ) { $files = array_diff( $files, $woo_files ); } } foreach ( $files as $file ) { require_once get_template_directory() . '/inc/integrations/visual-composer/maps/' . $file . '.php'; } } /** * Enqueue elements template for WPB page builder. * * @return void */ private function shortcodes_files_include() { $files = array( 'social', 'html-block', 'products', 'info-box', 'button', 'author-area', 'promo-banner', 'instagram', 'user-panel', 'posts-slider', 'slider', 'images-gallery', 'size-guide', 'blog', 'gallery', ); $wpb_files = array( '3d-view', 'ajax-search', 'countdown-timer', 'counter', 'extra-menu', 'google-map', 'mega-menu', 'menu-price', 'nested-carousel', 'popup', 'portfolio', 'pricing-tables', 'responsive-text-block', 'text-block', 'marquee', 'image', 'mailchimp', 'row-divider', 'team-member', 'testimonials', 'timeline', 'title', 'twitter', 'list', 'image-hotspot', 'products-tabs', 'brands', 'categories', 'product-filters', 'tabs', 'accordion', 'sidebar', 'off-canvas-column-btn', 'open-street-map', 'table', 'video', ); $woo_files = array( 'products-tabs', 'brands', 'categories', 'product-filters', 'products', 'size-guide', ); if ( 'wpb' === woodmart_get_current_page_builder() && defined( 'WPB_VC_VERSION' ) ) { $files = array_merge( $files, $wpb_files ); if ( ! woodmart_woocommerce_installed() ) { $files = array_diff( $files, $woo_files ); } } foreach ( $files as $file ) { require_once get_template_directory() . '/inc/shortcodes/' . $file . '.php'; } } /** * Enqueue theme dashboard files. * * @return void */ private function dashboard_files() { $files = array( 'admin/modules/dashboard/class-dashboard', 'admin/modules/dashboard/class-menu', 'admin/modules/dashboard/class-slider', ); foreach ( $files as $file ) { require_once get_parent_theme_file_path( WOODMART_FRAMEWORK . '/' . $file . '.php' ); } } /** * Enqueue theme setting files. * * @return void */ private function admin_files_include() { $files = array( 'admin/modules/setup-wizard/class-setup-wizard', 'admin/modules/setup-wizard/class-install-child-theme', 'admin/modules/setup-wizard/class-install-plugins', 'admin/init', ); foreach ( $files as $file ) { require_once get_parent_theme_file_path( WOODMART_FRAMEWORK . '/' . $file . '.php' ); } } /** * Enqueue core classes. * * @return void */ private function core_plugin_classes() { if ( class_exists( 'WOODMART_Auth' ) ) { $files = array( 'vendor/opauth/twitteroauth/twitteroauth', 'vendor/autoload', ); foreach ( $files as $file ) { require_once apply_filters( 'woodmart_require', WOODMART_PT_3D . $file . '.php' ); } $this->register_classes[] = 'auth'; } } }