JezK
Edit File: functions.php
<?php /** * Product Industry functions and definitions * * @subpackage Product Industry * @since 1.0 */ include get_theme_file_path( 'vendor/wptrt/autoload/src/Product_Industry_Loader.php' ); $Product_Industry_Loader = new \WPTRT\Autoload\Product_Industry_Loader(); $Product_Industry_Loader->product_industry_add( 'WPTRT\\Customize\\Section', get_theme_file_path( 'vendor/wptrt/customize-section-button/src' ) ); $Product_Industry_Loader->product_industry_register(); function product_industry_setup() { load_theme_textdomain( 'product-industry', get_template_directory() . '/languages' ); add_theme_support( 'automatic-feed-links' ); add_theme_support( 'title-tag' ); add_theme_support( 'responsive-embeds' ); add_theme_support( 'html5', array( 'comment-list', 'search-form', 'comment-form', ) ); add_theme_support( 'woocommerce' ); add_theme_support( 'post-thumbnails' ); add_theme_support( 'custom-background', $defaults = array( 'default-color' => '', 'default-image' => '', 'default-repeat' => '', 'default-position-x' => '', 'default-attachment' => '', 'wp-head-callback' => '_custom_background_cb', 'admin-head-callback' => '', 'admin-preview-callback' => '' )); $GLOBALS['content_width'] = 525; register_nav_menus( array( 'primary' => __( 'Primary Menu', 'product-industry' ), ) ); // Add theme support for Custom Logo. add_theme_support( 'custom-logo', array( 'width' => 250, 'height' => 250, 'flex-width' => true, ) ); // Add theme support for selective refresh for widgets. add_theme_support( 'customize-selective-refresh-widgets' ); /* * This theme styles the visual editor to resemble the theme style, * specifically font, colors, and column width. */ add_editor_style( array( 'assets/css/editor-style.css' ) ); } add_action( 'after_setup_theme', 'product_industry_setup' ); function product_industry_widgets_init() { register_sidebar( array( 'name' => __( 'Blog Sidebar', 'product-industry' ), 'id' => 'sidebar-1', 'description' => __( 'Add widgets here to appear in your sidebar on blog posts and archive pages.', 'product-industry' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<div class="widget_container"><h2 class="widget-title">', 'after_title' => '</h2></div>', ) ); register_sidebar( array( 'name' => __( 'Sidebar 2', 'product-industry' ), 'id' => 'sidebar-2', 'description' => __( 'Add widgets here to appear in your pages and posts', 'product-industry' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<div class="widget_container"><h2 class="widget-title">', 'after_title' => '</h2></div>', ) ); register_sidebar( array( 'name' => __( 'Sidebar 3', 'product-industry' ), 'id' => 'sidebar-3', 'description' => __( 'Add widgets here to appear in your pages and posts', 'product-industry' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<div class="widget_container"><h2 class="widget-title">', 'after_title' => '</h2></div>', ) ); register_sidebar( array( 'name' => __( 'Footer 1', 'product-industry' ), 'id' => 'footer-1', 'description' => __( 'Add widgets here to appear in your footer.', 'product-industry' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); register_sidebar( array( 'name' => __( 'Footer 2', 'product-industry' ), 'id' => 'footer-2', 'description' => __( 'Add widgets here to appear in your footer.', 'product-industry' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); register_sidebar( array( 'name' => __( 'Footer 3', 'product-industry' ), 'id' => 'footer-3', 'description' => __( 'Add widgets here to appear in your footer.', 'product-industry' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); register_sidebar( array( 'name' => __( 'Footer 4', 'product-industry' ), 'id' => 'footer-4', 'description' => __( 'Add widgets here to appear in your footer.', 'product-industry' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); } add_action( 'widgets_init', 'product_industry_widgets_init' ); function product_industry_fonts_url(){ $font_families = array( 'Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900' ); $fonts_url = add_query_arg( array( 'family' => implode( '&family=', $font_families ), 'display' => 'swap', ), 'https://fonts.googleapis.com/css2' ); $contents = wptt_get_webfont_url( esc_url_raw( $fonts_url ) ); return $contents; } //Enqueue scripts and styles. function product_industry_scripts() { // Add custom fonts, used in the main stylesheet. wp_enqueue_style( 'product-industry-fonts', product_industry_fonts_url(), array(), null ); //Bootstarp wp_enqueue_style( 'bootstrap-css', get_template_directory_uri().'/assets/css/bootstrap.css' ); // Theme stylesheet. wp_enqueue_style( 'product-industry-basic-style', get_stylesheet_uri() ); // Load the Internet Explorer 9 specific stylesheet, to fix display issues in the Customizer. if ( is_customize_preview() ) { wp_enqueue_style( 'product-industry-ie9', get_theme_file_uri( '/assets/css/ie9.css' ), array( 'product-industry-style' ), '1.0' ); wp_style_add_data( 'product-industry-ie9', 'conditional', 'IE 9' ); } // Load the Internet Explorer 8 specific stylesheet. wp_enqueue_style( 'product-industry-ie8', get_theme_file_uri( '/assets/css/ie8.css' ), array( 'product-industry-style' ), '1.0' ); wp_style_add_data( 'product-industry-ie8', 'conditional', 'lt IE 9' ); //font-awesome wp_enqueue_style( 'font-awesome-css', get_template_directory_uri().'/assets/css/fontawesome-all.css' ); wp_enqueue_style('custom-animations', get_template_directory_uri() . '/assets/css/animations.css'); require get_parent_theme_file_path( '/lz-custom-style.php' ); wp_add_inline_style( 'product-industry-basic-style',$product_industry_custom_style ); wp_enqueue_script( 'product-industry-navigation-jquery', get_theme_file_uri( '/assets/js/navigation.js' ), array( 'jquery' ), '2.1.2', true ); wp_enqueue_script( 'bootstrap-js', get_template_directory_uri(). '/assets/js/bootstrap.js', array('jquery') ); wp_enqueue_script( 'jquery-superfish', get_template_directory_uri(). '/assets/js/jquery.superfish.js', array('jquery') ,'',true); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } } add_action( 'wp_enqueue_scripts', 'product_industry_scripts' ); function product_industry_front_page_template( $template ) { return is_home() ? '' : $template; } add_filter( 'frontpage_template', 'product_industry_front_page_template' ); function product_industry_sanitize_dropdown_pages( $page_id, $setting ) { // Ensure $input is an absolute integer. $page_id = absint( $page_id ); // If $page_id is an ID of a published page, return it; otherwise, return the default. return ( 'publish' == get_post_status( $page_id ) ? $page_id : $setting->default ); } function product_industry_sanitize_choices( $input, $setting ) { global $wp_customize; $control = $wp_customize->get_control( $setting->id ); if ( array_key_exists( $input, $control->choices ) ) { return $input; } else { return $setting->default; } } function product_industry_sanitize_checkbox( $input ) { return ( ( isset( $input ) && true == $input ) ? true : false ); } function product_industry_sanitize_phone_number( $phone ) { return preg_replace( '/[^\d+]/', '', $phone ); } function product_industry_sanitize_float( $input ) { return filter_var($input, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); } /* Excerpt Limit Begin */ function product_industry_string_limit_words($string, $word_limit) { $words = explode(' ', $string, (int)($word_limit) + 1); if(count($words) > $word_limit) array_pop($words); return implode(' ', $words); } // Change number or products per row to 3 add_filter('loop_shop_columns', 'product_industry_loop_columns'); if (!function_exists('product_industry_loop_columns')) { function product_industry_loop_columns() { return 3; // 3 products per row } } /* Breadcrumb Begin */ function product_industry_breadcrumb() { if (!is_home()) { echo '<a href="'; echo esc_url(home_url()); echo '">'; bloginfo('name'); echo "</a>"; if (is_category() || is_single()) { the_category(', '); if (is_single()) { echo "<span> "; the_title(); echo "</span>"; } } elseif (is_page()) { echo "<span>"; the_title(); echo "</span> "; } } } function product_industry_banner_image( $image_url ){ global $post; if( is_singular() ){ $image_url = get_the_post_thumbnail_url( $post->ID, 'full' ); } return $image_url; } require get_parent_theme_file_path( '/inc/custom-header.php' ); require get_parent_theme_file_path( '/inc/template-tags.php' ); require get_parent_theme_file_path( '/inc/template-functions.php' ); require get_parent_theme_file_path( '/inc/customizer.php' ); require get_parent_theme_file_path( '/inc/font-awesome-icons.php' ); require get_parent_theme_file_path( '/inc/wptt-webfont-loader.php' );