register_fontawesome_style(); } return apply_filters( 'a3_portfolio_enqueue_styles', array( 'a3-portfolio-layout-css' => array( 'src' => a3_portfolio_get_css_file_url( 'a3.portfolio.layout.css' ), 'deps' => '', 'version' => A3_PORTFOLIO_VERSION, 'media' => 'all' ), 'a3-portfolio-widgets-css' => array( 'src' => a3_portfolio_get_css_file_url( 'a3.portfolio.widget.css' ), 'deps' => '', 'version' => A3_PORTFOLIO_VERSION, 'media' => 'all' ), 'a3-portfolio-attribute-filter-widget-css' => array( 'src' => a3_portfolio_get_css_file_url( 'a3.portfolio.filter.widget.css' ), 'deps' => array( 'font-awesome-styles' ), 'version' => A3_PORTFOLIO_VERSION, 'media' => 'all' ), 'a3-portfolio-general-css' => array( 'src' => a3_portfolio_get_css_file_url( 'a3.portfolio.css' ), 'deps' => array( 'font-awesome-styles' ), 'version' => A3_PORTFOLIO_VERSION, 'media' => 'all' ), 'a3_colorbox_style' => array( 'src' => a3_portfolio_get_css_file_url( 'colorbox/colorbox.css' ), 'deps' => '', 'version' => '1.4.4', 'media' => 'all' ), ) ); } /** * Get RTL styles for the frontend * @return array */ public function get_styles_rtl() { return apply_filters( 'a3_portfolio_enqueue_styles_rtl', array( 'a3-portfolio-layout-css-rtl' => array( 'src' => a3_portfolio_get_css_file_url( 'a3.portfolio.layout.rtl.css' ), 'deps' => '', 'version' => A3_PORTFOLIO_VERSION, 'media' => 'all' ), 'a3-portfolio-widgets-css-rtl' => array( 'src' => a3_portfolio_get_css_file_url( 'a3.portfolio.widget.rtl.css' ), 'deps' => '', 'version' => A3_PORTFOLIO_VERSION, 'media' => 'all' ), 'a3-portfolio-general-css-rtl' => array( 'src' => a3_portfolio_get_css_file_url( 'a3.portfolio.rtl.css' ), 'deps' => '', 'version' => A3_PORTFOLIO_VERSION, 'media' => 'all' ), ) ); } /** * Register/queue frontend scripts. * * @access public * @return void */ public function load_scripts() { global $post; global $portfolio_page_id; $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; do_action( 'a3_portfolio_before_include_scripts' ); // Register any scripts for later use, or used as dependencies wp_register_script( 'jquery-cookie', A3_PORTFOLIO_JS_URL . '/jquery.cookie.js', array( 'jquery' ), '1.4.1', true ); wp_register_script( 'jquery-mobile-a3-portfolio', A3_PORTFOLIO_JS_URL . '/jquery.mobile.custom' . $suffix . '.js', array( 'jquery' ), '1.4.4', true ); wp_register_script( 'jquery-imagesloaded', A3_PORTFOLIO_JS_URL . '/imagesloaded.pkgd' . $suffix . '.js', array( 'jquery' ), '3.1.8', true ); wp_register_script( 'colorbox_script', A3_PORTFOLIO_JS_URL . '/colorbox/jquery.colorbox'.$suffix.'.js', array( 'jquery' ), '1.4.4', true ); wp_register_script( 'a3-portfolio-script', apply_filters( 'a3_portfolio_script_url', A3_PORTFOLIO_JS_URL . '/a3.portfolio' . $suffix . '.js' ), array( 'jquery', 'jquery-masonry', 'jquery-cookie', 'jquery-mobile-a3-portfolio', 'jquery-imagesloaded' ), A3_PORTFOLIO_VERSION, true ); wp_register_script( 'a3-portfolio-widgets-script', apply_filters( 'a3_portfolio_widgets_script_url', A3_PORTFOLIO_JS_URL . '/a3.portfolio.widget' . $suffix . '.js' ), array( 'jquery', 'jquery-cookie' ), A3_PORTFOLIO_VERSION, true ); wp_register_script( 'a3-portfolio-single-script', apply_filters( 'a3_portfolio_single_script_url', A3_PORTFOLIO_JS_URL . '/a3.portfolio.single' . $suffix . '.js' ), array( 'jquery', 'jquery-cookie', 'jquery-mobile-a3-portfolio', 'jquery-imagesloaded', 'colorbox_script' ), A3_PORTFOLIO_VERSION, true ); // CSS Styles $enqueue_styles = self::get_styles(); if ( $enqueue_styles ) { foreach ( $enqueue_styles as $handle => $args ) { wp_register_style( $handle, $args['src'], $args['deps'], $args['version'], $args['media'] ); } } // RTL CSS Styles $enqueue_styles_rtl = self::get_styles_rtl(); if ( $enqueue_styles_rtl ) { foreach ( $enqueue_styles_rtl as $handle => $args ) { wp_register_style( $handle, $args['src'], $args['deps'], $args['version'], $args['media'] ); } } if ( is_viewing_portfolio_taxonomy() || ( $post && ( $portfolio_page_id == $post->ID || stristr( $post->post_content, '[portfoliopage') !== false ) ) ) { $this->a3_portfolio_main_page_scripts(); } do_action( 'a3_portfolio_after_include_scripts' ); } /** * Localize scripts only when enqueued */ public function localize_printed_scripts() { global $wp; $rtl = is_rtl() ? 1 : 0; $current_lang = ''; if ( class_exists('SitePress') ) { $current_lang = ICL_LANGUAGE_CODE; } if ( wp_script_is( 'a3-portfolio-widgets-script' ) ) { wp_localize_script( 'a3-portfolio-widgets-script', 'a3_portfolio_widgets_script_params', apply_filters( 'a3_portfolio_widgets_script_params', array( 'ajax_url' => admin_url( 'admin-ajax.php', 'relative' ), 'no_porfolio_text' => a3_portfolio_ei_ict_t__( 'Recently Widget - No Portfolio', __( 'No Portfolio Recently Viewed !', 'a3-portfolio' ) ), 'lang' => $current_lang ) ) ); } if ( wp_script_is( 'a3-portfolio-script' ) ) { $number_columns = a3_portfolio_get_col_per_row(); $card_image_height_fixed = a3_portfolio_card_image_height_fixed(); $desktop_expander_top_alignment = a3_portfolio_get_desktop_expander_top_alignment(); $mobile_expander_top_alignment = a3_portfolio_get_mobile_expander_top_alignment(); wp_localize_script( 'a3-portfolio-script', 'a3_portfolio_script_params', apply_filters( 'a3_portfolio_script_params', array( 'ajax_url' => admin_url( 'admin-ajax.php', 'relative' ), 'have_filters_script' => false, 'number_columns' => $number_columns, 'card_image_height_fixed' => $card_image_height_fixed, 'desktop_expander_top_alignment' => $desktop_expander_top_alignment, 'mobile_expander_top_alignment' => $mobile_expander_top_alignment, 'expander_template' => a3_portfolio_expander_template(), 'rtl' => $rtl, 'lang' => $current_lang ) ) ); } if ( wp_script_is( 'a3-portfolio-single-script' ) ) { wp_localize_script( 'a3-portfolio-single-script', 'a3_portfolio_single_script_params', apply_filters( 'a3_portfolio_single_script_params', array( 'ajax_url' => admin_url( 'admin-ajax.php', 'relative' ), 'lang' => $current_lang ) ) ); } } /** * Enqueue for Main Portfolip page. * * @access public * @return void */ public function a3_portfolio_main_page_scripts() { do_action( 'a3_portfolio_before_portfolio_enqueue_lib_scripts' ); wp_enqueue_script( 'a3-portfolio-script' ); do_action( 'a3_portfolio_after_portfolio_enqueue_lib_scripts' ); do_action( 'a3_portfolio_before_portfolio_enqueue_styles' ); wp_enqueue_style( 'a3-portfolio-general-css' ); wp_enqueue_style( 'a3-portfolio-layout-css' ); do_action( 'a3_portfolio_after_portfolio_enqueue_styles' ); if ( is_rtl() ) { do_action( 'a3_portfolio_before_portfolio_enqueue_styles_rtl' ); wp_enqueue_style( 'a3-portfolio-general-css-rtl' ); wp_enqueue_style( 'a3-portfolio-layout-css-rtl' ); do_action( 'a3_portfolio_after_portfolio_enqueue_styles_rtl' ); } } /** * Get custom styles for the Portfolip page * * @access public * @return void */ public function a3_portfolio_custom_style() { global $a3_portfolio_item_cards_settings; if ( ! $a3_portfolio_item_cards_settings['enable_cards_description'] ) return; $cards_description_line_height = (int)$a3_portfolio_item_cards_settings['cards_description_line_height']; $cards_description_line_height = $cards_description_line_height + ( $cards_description_line_height * 0.2 ); $custom_style = ' '; echo apply_filters( 'a3_portfolio_custom_style', $custom_style ); } /** * Get styles for the Single Portfolip page * * @access public * @return void */ public function a3_portfolio_custom_single_style( $portfolio_id ) { global $a3_portfolio_item_posts_settings; $gallery_wide = get_post_meta( $portfolio_id, '_a3_portfolio_meta_gallery_wide', true ); if ( empty( $gallery_wide ) || $gallery_wide == '' ) { $gallery_wide = $a3_portfolio_item_posts_settings['portfolio_inner_container_single_main_image_width']; } $gallery_wide = intval( $gallery_wide ); $content_data_wide = intval(100 - 2 - $gallery_wide); $custom_style = ' '; echo apply_filters( 'a3_portfolio_custom_single_style', $custom_style, $portfolio_id ); } /** * Enqueue for Single Portfolip page. * * @access public * @return void */ public function a3_portfolio_single_scripts() { do_action( 'a3_portfolio_before_single_enqueue_styles' ); wp_enqueue_style( 'a3_colorbox_style' ); wp_enqueue_style( 'a3-portfolio-general-css' ); wp_enqueue_style( 'a3-portfolio-layout-css' ); do_action( 'a3_portfolio_after_single_enqueue_styles' ); if ( is_rtl() ) { do_action( 'a3_portfolio_before_single_enqueue_styles_rtl' ); wp_enqueue_style( 'a3-portfolio-general-css-rtl' ); wp_enqueue_style( 'a3-portfolio-layout-css-rtl' ); do_action( 'a3_portfolio_after_single_enqueue_styles_rtl' ); } do_action( 'a3_portfolio_before_single_enqueue_lib_scripts' ); wp_enqueue_script( 'a3-portfolio-single-script' ); do_action( 'a3_portfolio_after_single_enqueue_lib_scripts' ); } /** * Enqueue for Portfolio Widget. * * @access public * @return void */ public function a3_portfolio_widget_scripts() { wp_enqueue_style( 'a3-portfolio-widgets-css' ); if ( is_rtl() ) { wp_enqueue_style( 'a3-portfolio-widgets-css-rtl' ); } do_action( 'a3_portfolio_before_widget_enqueue_lib_scripts' ); do_action( 'a3_portfolio_after_widget_enqueue_lib_scripts' ); wp_enqueue_script( 'a3-portfolio-widgets-script' ); } /** * Enqueue for Portfolio Widget. * * @access public * @return void */ public function a3_portfolio_attribute_filter_widget_scripts() { wp_enqueue_style( 'a3-portfolio-attribute-filter-widget-css' ); } /** * WC requires jQuery 1.8 since it uses functions like .on() for events and .parseHTML. * If, by the time wp_print_scrips is called, jQuery is outdated (i.e not * using the version in core) we need to deregister it and register the * core version of the file. * * @access public * @return void */ public function check_jquery() { global $wp_scripts; // Enforce minimum version of jQuery if ( ! empty( $wp_scripts->registered['jquery']->ver ) && ! empty( $wp_scripts->registered['jquery']->src ) && 0 >= version_compare( $wp_scripts->registered['jquery']->ver, '1.8' ) ) { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', '/wp-includes/js/jquery/jquery.js', array(), '1.8' ); wp_enqueue_script( 'jquery' ); } } } global $a3_portfolio_frontend_scripts; $a3_portfolio_frontend_scripts = new A3_Portfolio_Frontend_Scripts(); ?>