get( 'Name' ) );
define( 'CHILD_THEME_URL', $child_theme->get( 'ThemeURI' ) );
define( 'CHILD_THEME_VERSION', $child_theme->get( 'Version' ) );
define( 'CHILD_TEXT_DOMAIN', $child_theme->get( 'TextDomain' ) );
define( 'CHILD_THEME_DIR', get_stylesheet_directory() );
define( 'CHILD_THEME_URI', get_stylesheet_directory_uri() );
// Load Genesis Framework (do not remove).
require_once get_template_directory() . '/lib/init.php';
// Set Localization (do not remove).
load_child_theme_textdomain( CHILD_TEXT_DOMAIN, apply_filters( 'child_theme_textdomain', CHILD_THEME_DIR . '/languages', CHILD_TEXT_DOMAIN ) );
// Enable support for page excerpts.
add_post_type_support( 'page', 'excerpt' );
// Enable support for Gutenberg wide images.
add_theme_support( 'align-wide' );
// Enable support for 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' );
// Add portfolio image size.
//add_image_size( 'portfolio', 620, 380, true );
// Add slider image size (incase SEO slider not active).
add_image_size( 'slider', 1280, 720, true );
//* Add image sizes
add_image_size( 'homepage-large', 1200, 600, true );
add_image_size( 'homepage-medium', 640, 360, true );
add_image_size( 'homepage-small', 400, 225, true );
// Enable support for structural wraps.
add_theme_support( 'genesis-structural-wraps', array(
'header',
'menu-primary',
'menu-secondary',
'footer-widgets',
) );
// Enable Accessibility support.
add_theme_support( 'genesis-accessibility', array(
'404-page',
'drop-down-menu',
'headings',
'rems',
'search-form',
'skip-links',
) );
// Enable custom navigation menus.
add_theme_support( 'genesis-menus', array(
'primary' => __( 'Header Menu', 'yeuchaybo' ),
'secondary' => __( 'After Header Menu', 'yeuchaybo' ),
) );
// Enable viewport meta tag for mobile browsers.
add_theme_support( 'genesis-responsive-viewport' );
// Enable footer widgets.
add_theme_support( 'genesis-footer-widgets', 3 );
// Enable support for after entry widget.
add_theme_support( 'genesis-after-entry-widget-area' );
// Enable HTML5 markup structure.
add_theme_support( 'html5', array(
'caption',
'comment-form',
'comment-list',
'gallery',
'search-form',
) );
// Enable support for post formats.
add_theme_support( 'post-formats', array(
'aside',
'audio',
'chat',
'gallery',
'image',
'link',
'quote',
'status',
'video',
) );
// Enable support for post thumbnails.
add_theme_support( 'post-thumbnails' );
// Enable automatic output of WordPress title tags.
add_theme_support( 'title-tag' );
// Enable selective refresh and Customizer edit icons.
add_theme_support( 'customize-selective-refresh-widgets' );
// Enable theme support for custom background image.
add_theme_support( 'custom-background', array(
'default-color' => '#fdfeff',
) );
// Sets the content width based on the theme's design and stylesheet.
if ( ! isset( $content_width ) ) {
$content_width = 1000; // Pixels.
}
// Enable logo option in Customizer > Site Identity.
add_theme_support( 'custom-logo', array(
'height' => 60,
'width' => 240,
'flex-height' => true,
'flex-width' => true,
'header-text' => array( '.site-title', '.site-description' ),
) );
// Display custom logo in site title area.
add_action( 'genesis_site_title', 'the_custom_logo', 0 );
// Enable support for custom header image or video.
add_theme_support( 'custom-header', array(
'header-selector' => '.hero-section',
'default-image' => CHILD_THEME_URI . '/assets/images/hero.jpg',
'header-text' => true,
'default-text-color' => '#2a3139',
'width' => 1280,
'height' => 720,
'flex-height' => true,
'flex-width' => true,
'uploads' => true,
'video' => true,
'wp-head-callback' => 'corporate_custom_header',
) );
// Register default header (just in case).
register_default_headers( array(
'child' => array(
'url' => '%2$s/assets/images/hero.jpg',
'thumbnail_url' => '%2$s/assets/images/hero.jpg',
'description' => __( 'Hero Image', 'yeuchaybo' ),
),
) );
// Remove secondary sidebar.
unregister_sidebar( 'sidebar-alt' );
// Remove unused site layouts.
genesis_unregister_layout( 'content-sidebar-sidebar' );
genesis_unregister_layout( 'sidebar-content-sidebar' );
genesis_unregister_layout( 'sidebar-sidebar-content' );
// Change order of main stylesheet to override plugin styles.
remove_action( 'genesis_meta', 'genesis_load_stylesheet' );
add_action( 'wp_enqueue_scripts', 'genesis_enqueue_main_stylesheet', 99 );
// Reposition primary navigation menu.
remove_action( 'genesis_after_header', 'genesis_do_nav' );
add_action( 'genesis_after_title_area', 'genesis_do_nav' );
// Reposition the secondary navigation menu.
remove_action( 'genesis_after_header', 'genesis_do_subnav' );
add_action( 'genesis_after_header_wrap', 'genesis_do_subnav' );
// Reposition the breadcrumbs.
remove_action( 'genesis_before_loop', 'genesis_do_breadcrumbs' );
add_action( 'corporate_hero_section', 'genesis_do_breadcrumbs', 30 );
// Reposition featured image.
remove_action( 'genesis_entry_content', 'genesis_do_post_image', 8 );
remove_action( 'genesis_post_content', 'genesis_do_post_image' );
add_action( 'genesis_entry_header', 'genesis_do_post_image', 1 );
// Reposition footer widgets inside site footer.
remove_action( 'genesis_before_footer', 'genesis_footer_widget_areas' );
add_action( 'genesis_footer', 'genesis_footer_widget_areas', 14 );
// Remove footer credits.
remove_action( 'genesis_footer', 'genesis_do_footer' );
// Remove Genesis Portfolio Pro default styles.
add_filter( 'genesis_portfolio_load_default_styles', '__return_false' );
// Remove one click demo branding.
add_filter( 'pt-ocdi/disable_pt_branding', '__return_true' );
// Enable shortcodes in text widgets.
add_filter( 'widget_text', 'do_shortcode' );
add_action( 'wp_enqueue_scripts', 'corporate_scripts_styles', 90 );
/**
* Enqueue theme scripts and styles.
*
* @since 1.0.0
*
* @return void
*/
function corporate_scripts_styles() {
// Remove Simple Social Icons CSS (included with theme).
wp_dequeue_style( 'simple-social-icons-font' );
// Enqueue custom Google fonts.
wp_enqueue_style( 'google-fonts', '//fonts.googleapis.com/css?family=Nunito+Sans:400,600,700', array(), CHILD_THEME_VERSION );
// Conditionally load WooCommerce styles.
if ( corporate_is_woocommerce_page() ) {
wp_enqueue_style( CHILD_TEXT_DOMAIN . '-woocommerce', CHILD_THEME_URI . '/woocommerce.css', array(), CHILD_THEME_VERSION );
}
// Conditionally load slider scripts.
if ( ! class_exists( 'SEO_Slider_Widget' ) ) {
wp_enqueue_script( CHILD_TEXT_DOMAIN . '-modernizr', CHILD_THEME_URI . '/assets/scripts/min/modernizr.min.js', array( 'jquery' ), '3.5.0', true );
wp_enqueue_script( CHILD_TEXT_DOMAIN . '-slick', CHILD_THEME_URI . '/assets/scripts/min/slick.min.js', array( 'jquery' ), '1.8.1', true );
}
// Enqueue custom theme scripts.
wp_enqueue_script( CHILD_TEXT_DOMAIN . '-pro', CHILD_THEME_URI . '/assets/scripts/min/theme.min.js', array( 'jquery' ), CHILD_THEME_VERSION, true );
// Enqueue responsive menu script.
wp_enqueue_script( CHILD_TEXT_DOMAIN . '-menus', CHILD_THEME_URI . '/assets/scripts/min/menus.min.js', array( 'jquery' ), CHILD_THEME_VERSION, true );
// Disable superfish args.
wp_deregister_script( 'superfish-args' );
// Localize responsive menus script.
wp_localize_script( CHILD_TEXT_DOMAIN . '-menus', 'genesis_responsive_menu', array(
'mainMenu' => '',
'subMenu' => '',
'menuIconClass' => null,
'subMenuIconClass' => null,
'menuClasses' => array(
'combine' => array(
'.nav-primary',
'.nav-secondary',
),
),
) );
}
// Load helper functions.
require_once CHILD_THEME_DIR . '/includes/helpers.php';
// Load general functions.
require_once CHILD_THEME_DIR . '/includes/general.php';
// Load widget areas.
require_once CHILD_THEME_DIR . '/includes/widgets.php';
// Load hero section.
require_once CHILD_THEME_DIR . '/includes/hero.php';
// Load Customizer settings.
require_once CHILD_THEME_DIR . '/includes/customize.php';
// Load default settings.
require_once CHILD_THEME_DIR . '/includes/defaults.php';
// Load recommended plugins.
require_once CHILD_THEME_DIR . '/includes/plugins.php';
/**********************************
*
* Replace Header Site Title with Inline Logo
*
* @author AlphaBlossom / Tony Eppright, Neil Gee
* @link http://www.alphablossom.com/a-better-wordpress-genesis-responsive-logo-header/
* @link https://wpbeaches.com/adding-in-a-responsive-html-logoimage-header-via-the-customizer-for-genesis/
*
* @edited by Sridhar Katakam
* @link https://sridharkatakam.com/
*
************************************/
add_filter( 'genesis_seo_title', 'custom_header_inline_logo', 10, 3 );
function custom_header_inline_logo( $title, $inside, $wrap ) {
$logo = '';
$inside = sprintf( '%s%s', trailingslashit( home_url() ), $logo, get_bloginfo( 'name' ) );
// Determine which wrapping tags to use
$wrap = genesis_is_root_page() && 'title' === genesis_get_seo_option( 'home_h1_on' ) ? 'h1' : 'p';
// A little fallback, in case an SEO plugin is active
$wrap = genesis_is_root_page() && ! genesis_get_seo_option( 'home_h1_on' ) ? 'h1' : $wrap;
// And finally, $wrap in h1 if HTML5 & semantic headings enabled
$wrap = genesis_html5() && genesis_get_seo_option( 'semantic_headings' ) ? 'h1' : $wrap;
return sprintf( '<%1$s %2$s>%3$s%1$s>', $wrap, genesis_attr( 'site-title' ), $inside );
}
add_filter( 'genesis_attr_site-description', 'abte_add_site_description_class' );
/**
* Add class for screen readers to site description.
*
* Unhook this if you'd like to show the site description.
*
* @since 1.0.0
*
* @param array $attributes Existing HTML attributes for site description element.
* @return string Amended HTML attributes for site description element.
*/
function abte_add_site_description_class( $attributes ) {
$attributes['class'] .= ' screen-reader-text';
return $attributes;
}