/** * Theme Functions * * @package Wpisset Framework */ // exit if accessed directly if ( ! defined( 'ABSPATH' ) ) exit; //remove_theme_mods(); // Constants define( 'WPISSET_THEME_DIR', get_template_directory() ); define( 'WPISSET_THEME_URI', get_template_directory_uri() ); define( 'WPISSET_CHILD_THEME_DIR', get_stylesheet_directory() ); define( 'WPISSET_CHILD_THEME_URI', get_stylesheet_directory_uri() ); define( 'WPISSET_VERSION', wp_get_theme( 'hailey' )->get('Version') ); define( 'WPISSET_CHILD_VERSION', wp_get_theme( 'wpisset-child' )->get('Version') ); // Theme Setup add_action('after_setup_theme', 'wpisset_theme_setup'); function wpisset_theme_setup() { // Textdomain load_theme_textdomain( 'hailey', get_template_directory() . '/languages' ); // Custom Logo add_theme_support( 'custom-logo', array( 'width' => 180, 'height' => 48, 'flex-width' => true, 'flex-height' => true, ) ); // Custom Background add_theme_support( 'custom-background', array( 'default-color' => 'ffffff', 'default-image' => '', 'default-repeat' => 'repeat', 'default-position-x' => 'left', 'default-position-y' => 'top', 'default-size' => 'auto', 'default-attachment' => 'scroll', ) ); // Title Tag add_theme_support( 'title-tag' ); // Post Thumbnails add_theme_support( 'post-thumbnails' ); // Automatic Feed Links add_theme_support( 'automatic-feed-links' ). // HTML5 Support add_theme_support( 'html5', array( 'comment-list', 'comment-form', 'gallery', 'caption' ) ); // Post Formats add_theme_support( 'post-formats', array( 'image', 'video', 'quote', 'link', 'gallery', 'audio' ) ); // Selective Refresh for Widgets add_theme_support( 'customize-selective-refresh-widgets' ); // WooCommerce add_theme_support( 'woocommerce' ); add_theme_support( 'wc-product-gallery-zoom' ); add_theme_support( 'wc-product-gallery-lightbox' ); add_theme_support( 'wc-product-gallery-slider' ); register_nav_menus( array( 'main_menu' => __( 'Main Menu', 'hailey'), 'mobile_menu' => __( 'Mobile Menu', 'hailey'), 'footer_menu' => __( 'Footer Left', 'hailey'), 'footer_menu_right' => __( 'Footer Right', 'hailey'), 'extra_menu' => __( 'Extra Menu', 'hailey') ) ); } // Content Width if ( ! isset( $content_width ) ) { $content_width = 760; } // Sidebar add_action( 'widgets_init', 'wpisset_sidebars' ); function wpisset_sidebars() { register_sidebar( array( 'name' => __( 'Sidebar', 'hailey'), 'id' => 'sidebar-1', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

' ) ); register_sidebar( array( 'name' => __( 'Footer Column 1', 'hailey'), 'id' => 'footer-column-1', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

' ) ); register_sidebar( array( 'name' => __( 'Footer Column 2', 'hailey'), 'id' => 'footer-column-2', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

' ) ); register_sidebar( array( 'name' => __( 'Footer Column 3', 'hailey'), 'id' => 'footer-column-3', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

' ) ); register_sidebar( array( 'name' => __( 'Footer Column 4', 'hailey'), 'id' => 'footer-column-4', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

' ) ); register_sidebar( array( 'name' => __( 'Footer Column 5', 'hailey'), 'id' => 'footer-column-5', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

' ) ); register_sidebar( array( 'name' => __( 'Footer Column 6', 'hailey'), 'id' => 'footer-column-6', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

' ) ); } // Sidebars fix (no hook is being used for update_option to fire immediately) $wpisset_current_sidebars = get_option( 'sidebars_widgets' ); if( !empty( $wpisset_current_sidebars['wpisset-sidebar'] ) ) { $wpisset_new_sidebars = $wpisset_current_sidebars; $wpisset_new_sidebars['sidebar-1'] = $wpisset_new_sidebars['wpisset-sidebar']; unset( $wpisset_new_sidebars['wpisset-sidebar'] ); update_option( 'sidebars_widgets', $wpisset_new_sidebars ); } // Menu's add_filter( 'wpisset_menu_position', function( $choices ) { $choices['menu-stacked-advanced'] = esc_attr__( 'Stacked (advanced)', 'hailey' ); return $choices; }); function wpisset_admin_style() { wp_enqueue_style( 'wpisset-admin-style', get_template_directory_uri() . '/css/admin-style.css', '', WPISSET_VERSION ); } add_action( 'admin_enqueue_scripts', 'wpisset_admin_style'); // Styles & Scripts add_action( 'wp_enqueue_scripts', 'wpisset_scripts', 10 ); function wpisset_scripts() { // site.js wp_enqueue_script( 'wpisset-site', get_template_directory_uri() . '/js/site.js', array( 'jquery' ), WPISSET_VERSION, true ); if( ! get_theme_mod( 'mobile_menu_options' ) || get_theme_mod( 'mobile_menu_options' ) == 'menu-mobile-hamburger' ) { // hamburger wp_enqueue_script( 'wpisset-mobile-menu-hamburger', get_template_directory_uri() . '/js/mobile-hamburger.js', array( 'jquery', 'wpisset-site' ), WPISSET_VERSION, true ); } elseif( get_theme_mod( 'mobile_menu_options' ) == 'menu-mobile-default' ) { // default wp_enqueue_script( 'wpisset-mobile-menu-default', get_template_directory_uri() . '/js/mobile-default.js', array( 'jquery', 'wpisset-site' ), WPISSET_VERSION, true ); } // style.css wp_enqueue_style( 'wpisset-style', get_template_directory_uri() . '/css/application.css', '', WPISSET_VERSION ); // responsive.css wp_enqueue_style( 'wpisset-responsive', get_template_directory_uri() . '/css/responsive.css', '', WPISSET_VERSION ); if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); if ( is_rtl() ) { wp_enqueue_style( 'wpisset-rtl', get_template_directory_uri() . '/css/rtl.css', '', WPISSET_VERSION ); } if ( get_theme_mod( 'menu_sticky' ) ) { // sticky navigation wp_enqueue_script( 'wpisset-sticky-navigation', WPISSET_THEME_URI . '/js/sticky-navigation.js', array( 'jquery', 'wpisset-site' ), WPISSET_VERSION, true ); } if ( in_array( get_theme_mod( 'menu_position' ), [ 'menu-off-canvas', 'menu-off-canvas-left' ] ) ) { // off canvas wp_enqueue_script( 'wpisset-menu-off-canvas', WPISSET_THEME_URI . '/js/off-canvas.js', array( 'jquery', 'wpisset-site' ), WPISSET_VERSION, true ); } if ( get_theme_mod( 'menu_position' ) == 'menu-full-screen' ) { // full screen wp_enqueue_script( 'wpisset-menu-full-screen', WPISSET_THEME_URI . '/js/full-screen.js', array( 'jquery', 'wpisset-site' ), WPISSET_VERSION, true ); } if ( get_theme_mod( 'mobile_menu_options' ) == 'menu-mobile-off-canvas' ) { // full screen wp_enqueue_script( 'wpisset-mobile-menu-off-canvas', WPISSET_THEME_URI . '/js/mobile-off-canvas.js', array( 'jquery', 'wpisset-site' ), WPISSET_VERSION, true ); } if ( in_array( get_theme_mod( 'sub_menu_animation' ), [ 'zoom-in', 'zoom-out' ] ) ) { // jQuery Transit wp_enqueue_script( 'wpisset-sub-menu-animation', WPISSET_THEME_URI . '/js/jquery.transit.min.js', array( 'jquery', 'wpisset-site' ), '0.9.12', true ); } // WooCommerce if ( class_exists( 'WooCommerce' ) ) { // woocommerce wp_enqueue_style( 'wpisset-woocommerce', get_template_directory_uri() . '/css/woocommerce.css', '', WPISSET_VERSION ); wp_enqueue_script( 'wpisset-woocommerce', WPISSET_THEME_URI . '/js/woocommerce.js', array( 'jquery' ), WPISSET_VERSION, true ); wp_localize_script( 'wpisset-woocommerce', 'wpisset_woo_quick_view', array( 'ajax_url' => admin_url( 'admin-ajax.php' ), 'cart_error_text' => __( 'Please select %variationName%', 'hailey' ) ) ); } } // Init require_once( WPISSET_THEME_DIR . '/inc/init.php' );