tag in the document head, and expect WordPress to * provide it for us. */ add_theme_support( 'title-tag' ); /** * This theme uses wp_nav_menu() in one location. */ register_nav_menus( array( 'conica-main-menu' => __( 'Main Menu', 'conica' ), 'conica-header-menu' => __( 'Top Bar Menu', 'conica' ), 'conica-footer-menu' => __( 'Footer Menu', 'conica' ) ) ); add_theme_support( 'post-thumbnails' ); // The custom logo is used for the logo add_theme_support( 'custom-logo', array( 'height' => 105, 'width' => 400, 'flex-height' => true, 'flex-width' => true, ) ); add_editor_style(); add_theme_support( 'custom-background', array( 'default-color' => '#FFFFFF', ) ); 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' ); } endif; // conica_setup_theme add_action( 'after_setup_theme', 'conica_setup_theme' ); /** * Register widgetized area and update sidebar with default widgets */ function conica_widgets_init() { register_sidebar( array( 'name' => __( 'Sidebar', 'conica' ), 'id' => 'sidebar-1', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar(array( 'name' => __( 'Conica Standard Footer', 'conica' ), 'id' => 'conica-site-footer-standard', )); } add_action( 'widgets_init', 'conica_widgets_init' ); /** * Enqueue scripts and styles */ function conica_scripts() { wp_enqueue_style( 'conica-body-font-default', '//fonts.googleapis.com/css?family=Poppins:400,300,500,600,700|Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic', array(), CONICA_THEME_VERSION ); wp_enqueue_style( 'font-awesome', get_template_directory_uri().'/includes/font-awesome/css/font-awesome.css', array(), '4.6.3' ); wp_enqueue_style( 'conica-style', get_stylesheet_uri(), array(), CONICA_THEME_VERSION ); if ( conica_is_woocommerce_activated() ) { wp_enqueue_style( 'conica-woocommerce-style', get_template_directory_uri().'/templates/css/conica-woocommerce-style.css', array(), CONICA_THEME_VERSION ); } if ( get_theme_mod( 'conica-set-site-skin' ) == 'conica-skin-dark' ) : wp_enqueue_style( 'conica-skin-dark', get_template_directory_uri().'/templates/css/skins/dark-skin.css', array(), CONICA_THEME_VERSION ); else : wp_enqueue_style( 'conica-skin-light', get_template_directory_uri().'/templates/css/skins/light-skin.css', array(), CONICA_THEME_VERSION ); endif; if ( get_theme_mod( 'conica-set-header-layout' ) == 'conica-header-layout-two' ) : wp_enqueue_style( 'conica-header-style-two', get_template_directory_uri().'/templates/css/header/header-two.css', array(), CONICA_THEME_VERSION ); elseif ( get_theme_mod( 'conica-set-header-layout' ) == 'conica-header-layout-three' ) : wp_enqueue_style( 'conica-header-style-three', get_template_directory_uri().'/templates/css/header/header-three.css', array(), CONICA_THEME_VERSION ); elseif ( get_theme_mod( 'conica-set-header-layout' ) == 'conica-header-layout-four' ) : wp_enqueue_style( 'conica-header-style-four', get_template_directory_uri().'/templates/css/header/header-four.css', array(), CONICA_THEME_VERSION ); else : wp_enqueue_style( 'conica-header-style-one', get_template_directory_uri().'/templates/css/header/header-one.css', array(), CONICA_THEME_VERSION ); endif; if ( get_theme_mod( 'conica-footer-layout' ) == 'conica-footer-layout-social' ) : wp_enqueue_style( 'conica-footer-social-style', get_template_directory_uri().'/templates/css/footer/footer-social.css', array(), CONICA_THEME_VERSION ); elseif ( get_theme_mod( 'conica-footer-layout' ) == 'conica-footer-layout-none' ) : wp_enqueue_style( 'conica-no-footer-style', get_template_directory_uri().'/templates/css/footer/footer-none.css', array(), CONICA_THEME_VERSION ); else : wp_enqueue_style( 'conica-footer-standard-style', get_template_directory_uri().'/templates/css/footer/footer-standard.css', array(), CONICA_THEME_VERSION ); endif; wp_enqueue_script( 'conica-caroufredSel', get_template_directory_uri() . '/js/caroufredsel/jquery.carouFredSel-6.2.1-packed.js', array('jquery'), CONICA_THEME_VERSION, true ); wp_enqueue_script( 'conica-custom-js', get_template_directory_uri() . '/js/custom.js', array('jquery'), CONICA_THEME_VERSION, true ); if ( get_theme_mod( 'conica-set-sticky-header' ) ) { wp_enqueue_script( 'conica-waypoints', get_template_directory_uri() . '/js/waypoints/waypoints.min.js', array('jquery'), CONICA_THEME_VERSION, true ); wp_enqueue_script( 'conica-waypoints-sticky', get_template_directory_uri() . '/js/waypoints/waypoints-sticky.min.js', array('jquery'), CONICA_THEME_VERSION, true ); wp_enqueue_script( 'conica-sticky-header', get_template_directory_uri() . '/js/waypoints/sticky-header.js', array('jquery'), CONICA_THEME_VERSION, true ); } if ( get_theme_mod( 'conica-set-blog-layout' ) == 'blog-grid-layout' ) { if ( is_home() || is_archive() || is_search() ) { wp_enqueue_script( 'jquery-masonry' ); wp_enqueue_script( 'conica-masonry-custom', get_template_directory_uri() . '/js/blog-layout.js', array('jquery'), CONICA_THEME_VERSION, true ); } } wp_enqueue_script( 'conica-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), CONICA_THEME_VERSION, true ); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } if ( is_singular() && wp_attachment_is_image() ) { wp_enqueue_script( 'kaira-keyboard-image-navigation', get_template_directory_uri() . '/js/keyboard-image-navigation.js', array('jquery'), CONICA_THEME_VERSION ); } } add_action( 'wp_enqueue_scripts', 'conica_scripts' ); /** * To maintain backwards compatibility with older versions of WordPress */ function conica_the_custom_logo() { if ( function_exists( 'the_custom_logo' ) ) { the_custom_logo(); } } /** * Enqueue admin styling. */ function conica_load_admin_script() { wp_enqueue_style( 'conica-admin-css', get_template_directory_uri() . '/upgrade/css/admin-css.css' ); } add_action( 'admin_enqueue_scripts', 'conica_load_admin_script' ); /** * Check if WooCommerce exists. */ if ( ! function_exists( 'conica_is_woocommerce_activated' ) ) : function conica_is_woocommerce_activated() { if ( class_exists( 'woocommerce' ) ) { return true; } else { return false; } } endif; // conica_is_woocommerce_activated // If WooCommerce exists include ajax cart if ( conica_is_woocommerce_activated() ) { require get_template_directory() . '/includes/inc/woocommerce-cart.php'; } /** * Add classes to the blog list for styling. */ function conica_add_post_classes ( $classes ) { global $current_class; if ( is_home() || is_archive() || is_search() ) : $conica_blog_layout = 'blog-left-layout'; if ( get_theme_mod( 'conica-set-blog-layout' ) ) { $conica_blog_layout = sanitize_html_class( get_theme_mod( 'conica-set-blog-layout' ) ); } $classes[] = $conica_blog_layout; $conica_blog_style = sanitize_html_class( 'blog-style-plain' ); $classes[] = $conica_blog_style; $classes[] = $current_class; $current_class = ( $current_class == 'blog-alt-odd' ) ? sanitize_html_class( 'blog-alt-even' ) : sanitize_html_class( 'blog-alt-odd' ); endif; return $classes; } global $current_class; $current_class = sanitize_html_class( 'blog-alt-odd' ); add_filter ( 'post_class' , 'conica_add_post_classes' ); /** * Enqueue conica custom customizer styling. */ function conica_load_customizer_script() { wp_enqueue_script( 'conica-customizer-js', get_template_directory_uri() . '/customizer/customizer-library/js/customizer-custom.js', array('jquery'), CONICA_THEME_VERSION, true ); wp_enqueue_style( 'conica-customizer-css', get_template_directory_uri() . '/customizer/customizer-library/css/customizer.css' ); } add_action( 'customize_controls_enqueue_scripts', 'conica_load_customizer_script' ); /** * Add classed to the body tag from settings */ function conica_add_body_class( $classes ) { $conica_skin = sanitize_html_class( 'conica-skin-light' ); if ( get_theme_mod( 'conica-set-site-skin' ) ) { $conica_skin = sanitize_html_class( get_theme_mod( 'conica-set-site-skin' ) ); } $classes[] = sanitize_html_class( $conica_skin ); return $classes; } add_filter( 'body_class', 'conica_add_body_class' ); /** * Adjust is_home query if conica-set-blog-cats is set */ function conica_set_blog_queries( $query ) { $blog_query_set = ''; if ( get_theme_mod( 'conica-set-blog-cats', false ) ) { $blog_query_set = get_theme_mod( 'conica-set-blog-cats' ); } if ( $blog_query_set ) { // do not alter the query on wp-admin pages and only alter it if it's the main query if ( !is_admin() && $query->is_main_query() ){ if ( is_home() ){ $query->set( 'cat', esc_attr( $blog_query_set ) ); } } } } add_action( 'pre_get_posts', 'conica_set_blog_queries' ); /** * Display recommended plugins with the TGM class */ function conica_register_required_plugins() { $plugins = array( // The recommended WordPress.org plugins. array( 'name' => __( 'Elementor Page Builder', 'conica' ), 'slug' => 'elementor', 'required' => false, ), array( 'name' => __( 'WooCommerce', 'conica' ), 'slug' => 'woocommerce', 'required' => false, ), array( 'name' => __( 'Breadcrumb NavXT', 'conica' ), 'slug' => 'breadcrumb-navxt', 'required' => false, ), array( 'name' => __( 'Meta Slider', 'conica' ), 'slug' => 'ml-slider', 'required' => false, ) ); $config = array( 'id' => 'conica', 'menu' => 'tgmpa-install-plugins', ); tgmpa( $plugins, $config ); } add_action( 'tgmpa_register', 'conica_register_required_plugins' ); /** * Elementor Check */ if ( ! defined( 'ELEMENTOR_PARTNER_ID' ) ) { define( 'ELEMENTOR_PARTNER_ID', 2118 ); } /** * Register a custom Post Categories ID column */ function conica_edit_cat_columns( $conica_cat_columns ) { $conica_cat_in = array( 'cat_id' => 'Category ID For the Default Slider' ); $conica_cat_columns = conica_cat_columns_array_push_after( $conica_cat_columns, $conica_cat_in, 0 ); return $conica_cat_columns; } add_filter( 'manage_edit-category_columns', 'conica_edit_cat_columns' ); /** * Print the ID column */ function conica_cat_custom_columns( $value, $name, $cat_id ) { if( 'cat_id' == $name ) echo $cat_id; } add_filter( 'manage_category_custom_column', 'conica_cat_custom_columns', 10, 3 ); /** * Insert an element at the beggining of the array */ function conica_cat_columns_array_push_after( $src, $conica_cat_in, $pos ) { if ( is_int( $pos ) ) { $R = array_merge( array_slice( $src, 0, $pos + 1 ), $conica_cat_in, array_slice( $src, $pos + 1 ) ); } else { foreach ( $src as $k => $v ) { $R[$k] = $v; if ( $k == $pos ) $R = array_merge( $R, $conica_cat_in ); } } return $R; }