__( 'Primary Menu', 'fkidd' ), 'footer' => __( 'Footer Menu', 'fkidd' ), ) ); add_theme_support( 'post-thumbnails' ); global $content_width; if ( ! isset( $content_width ) ) $content_width = 900; add_theme_support( 'automatic-feed-links' ); // add Custom background $args = array( 'default-color' => '#ffffff', ); add_theme_support( 'custom-background', $args ); // add custom header add_theme_support( 'custom-header', array ( 'default-image' => '', 'random-default' => '', 'flex-height' => true, 'flex-width' => true, 'uploads' => true, 'width' => 900, 'height' => 100, 'default-text-color' => '#000000', 'wp-head-callback' => 'fkidd_header_style', ) ); // add custom logo add_theme_support( 'custom-logo', array ( 'width' => 145, 'height' => 36, 'flex-height' => true, 'flex-width' => true, ) ); add_theme_support( "title-tag" ); /* * Switch default core markup for search form, comment form, and comments * to output valid HTML5. */ add_theme_support( 'html5', array( 'comment-form', 'comment-list', ) ); // add WooCommerce support add_theme_support( 'woocommerce' ); // Add support for Block Styles. add_theme_support( 'wp-block-styles' ); add_theme_support( 'editor-styles' ); // add the visual editor to resemble the theme style add_editor_style( 'css/editor-style.css' ); // Define and register starter content to showcase the theme on new sites. $starter_content = array( 'widgets' => array( 'sidebar-widget-area' => array( 'search', 'recent-posts', 'categories', 'archives', ), 'homepage-column-1-widget-area' => array( 'text_business_info' ), 'homepage-column-2-widget-area' => array( 'text_about' ), 'homepage-column-3-widget-area' => array( 'meta' ), 'homepage-below-widget-area' => array( 'text_business_info' ), 'footer-column-1-widget-area' => array( 'recent-comments' ), 'footer-column-2-widget-area' => array( 'recent-posts' ), 'footer-column-3-widget-area' => array( 'calendar' ), ), 'posts' => array( 'home', 'blog', 'about', 'contact' ), // Create the custom image attachments used as slides 'attachments' => array( 'image-slide-1' => array( 'post_title' => _x( 'Slider Image 1', 'Theme starter content', 'fkidd' ), 'file' => 'images/slider/1.jpg', // URL relative to the template directory. ), 'image-slide-2' => array( 'post_title' => _x( 'Slider Image 2', 'Theme starter content', 'fkidd' ), 'file' => 'images/slider/2.jpg', // URL relative to the template directory. ), 'image-slide-3' => array( 'post_title' => _x( 'Slider Image 3', 'Theme starter content', 'fkidd' ), 'file' => 'images/slider/3.jpg', // URL relative to the template directory. ), ), // Default to a static front page and assign the front and posts pages. 'options' => array( 'show_on_front' => 'page', 'page_on_front' => '{{home}}', 'page_for_posts' => '{{blog}}', ), // Set the front page section theme mods to the IDs of the core-registered pages. 'theme_mods' => array( 'fkidd_slider_display' => 1, 'fkidd_slide1_image' => '{{image-slider-1}}', 'fkidd_slide1_content' => _x( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 'Theme starter content', 'fkidd' ), 'fkidd_slide2_image' => '{{image-slider-2}}', 'fkidd_slide2_content' => _x( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 'Theme starter content', 'fkidd' ), 'fkidd_slide3_image' => '{{image-slider-3}}', 'fkidd_slide3_content' => _x( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.', 'Theme starter content', 'fkidd' ), 'fkidd_social_facebook' => _x( '#', 'Theme starter content', 'fkidd' ), 'fkidd_social_twitter' => _x( '#', 'Theme starter content', 'fkidd' ), 'fkidd_social_linkedin' => _x( '#', 'Theme starter content', 'fkidd' ), 'fkidd_social_instagram' => _x( '#', 'Theme starter content', 'fkidd' ), 'fkidd_social_rss' => _x( '#', 'Theme starter content', 'fkidd' ), 'fkidd_social_tumblr' => _x( '#', 'Theme starter content', 'fkidd' ), 'fkidd_social_youtube' => _x( '#', 'Theme starter content', 'fkidd' ), 'fkidd_social_pinterest' => _x( '#', 'Theme starter content', 'fkidd' ), 'fkidd_social_vk' => _x( '#', 'Theme starter content', 'fkidd' ), 'fkidd_social_flickr' => _x( '#', 'Theme starter content', 'fkidd' ), 'fkidd_social_vine' => _x( '#', 'Theme starter content', 'fkidd' ), 'fkidd_header_phone' => _x( 'info@example.com', 'Theme starter content', 'fkidd' ), 'fkidd_header_email' => _x( '1.555.555.555', 'Theme starter content', 'fkidd' ), ), 'nav_menus' => array( // Assign a menu to the "primary" location. 'primary' => array( 'name' => __( 'Primary Menu', 'fkidd' ), 'items' => array( 'link_home', 'page_blog', 'page_contact', 'page_about', ), ), // Assign a menu to the "footer" location. 'footer' => array( 'name' => __( 'Footer Menu', 'fkidd' ), 'items' => array( 'link_home', 'page_about', 'page_blog', 'page_contact', ), ), ), ); $starter_content = apply_filters( 'fkidd_starter_content', $starter_content ); add_theme_support( 'starter-content', $starter_content ); } endif; // fkidd_setup add_action( 'after_setup_theme', 'fkidd_setup' ); /** * Add Social Site control into Customizer */ function fkidd_customize_add_social_site($wp_customize, $controlId, $label) { $wp_customize->add_setting( $controlId, array( 'sanitize_callback' => 'fkidd_sanitize_url', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, $controlId, array( 'label' => $label, 'section' => 'fkidd_social_section', 'settings' => $controlId, 'type' => 'text', ) ) ); } if ( ! function_exists( 'fkidd_sanitize_checkbox' ) ) : /** * Sanitization callback for 'checkbox' type controls. This callback sanitizes `$checked` * as a boolean value, either TRUE or FALSE. * * @param bool $checked Whether the checkbox is checked. * @return bool Whether the checkbox is checked. */ function fkidd_sanitize_checkbox( $checked ) { // Boolean check. return ( ( isset( $checked ) && true == $checked ) ? true : false ); } endif; // fkidd_sanitize_checkbox if ( ! function_exists( 'fkidd_sanitize_html' ) ) : function fkidd_sanitize_html( $html ) { return wp_filter_post_kses( $html ); } endif; // fkidd_sanitize_html if ( ! function_exists( 'fkidd_sanitize_url' ) ) : function fkidd_sanitize_url( $url ) { return esc_url_raw( $url ); } endif; // fkidd_sanitize_url if ( ! function_exists( 'fkidd_sanitize_email' ) ) : function fkidd_sanitize_email( $email, $setting ) { // Strips out all characters that are not allowable in an email address. $email = sanitize_email( $email ); // If $email is a valid email, return it; otherwise, return the default. return ( ! is_null( $email ) ? $email : $setting->default ); } endif; // fkidd_sanitize_email /** * Register theme settings in the customizer */ function fkidd_customize_register( $wp_customize ) { /** * Add Slider Section */ $wp_customize->add_section( 'fkidd_slider_section', array( 'title' => __( 'Slider', 'fkidd' ), 'capability' => 'edit_theme_options', ) ); $wp_customize->add_setting( 'fkidd_slider_display', array( 'default' => 0, 'sanitize_callback' => 'fkidd_sanitize_checkbox', ) ); // Add display slider option $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'fkidd_slider_display', array( 'label' => __( 'Display Slider on a Static Front Page', 'fkidd' ), 'section' => 'fkidd_slider_section', 'settings' => 'fkidd_slider_display', 'type' => 'checkbox', ) ) ); for ($i = 1; $i <= 3; ++$i) { $slideContentId = 'fkidd_slide'.$i.'_content'; $slideImageId = 'fkidd_slide'.$i.'_image'; $defaultSliderImagePath = get_template_directory_uri().'/images/slider/'.$i.'.jpg'; // Add Slide Content $wp_customize->add_setting( $slideContentId, array( 'sanitize_callback' => 'fkidd_sanitize_html', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, $slideContentId, array( 'label' => sprintf( esc_html__( 'Slide #%s Content', 'fkidd' ), $i ), 'section' => 'fkidd_slider_section', 'settings' => $slideContentId, 'type' => 'textarea', ) ) ); // Add Slide Background Image $wp_customize->add_setting( $slideImageId, array( 'default' => $defaultSliderImagePath, 'sanitize_callback' => 'fkidd_sanitize_url' ) ); $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, $slideImageId, array( 'label' => sprintf( esc_html__( 'Slide #%s Image', 'fkidd' ), $i ), 'section' => 'fkidd_slider_section', 'settings' => $slideImageId, ) ) ); } /** * Add Footer Section */ $wp_customize->add_section( 'fkidd_header_and_footer_section', array( 'title' => __( 'Header and Footer', 'fkidd' ), 'capability' => 'edit_theme_options', ) ); // Add header phone $wp_customize->add_setting( 'fkidd_header_phone', array( 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'fkidd_header_phone', array( 'label' => __( 'Your phone to appear in the website header', 'fkidd' ), 'section' => 'fkidd_header_and_footer_section', 'settings' => 'fkidd_header_phone', 'type' => 'text', ) ) ); // Add header email $wp_customize->add_setting( 'fkidd_header_email', array( 'sanitize_callback' => 'fkidd_sanitize_email', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'fkidd_header_email', array( 'label' => __( 'Your e-mail to appear in the website header', 'fkidd' ), 'section' => 'fkidd_header_and_footer_section', 'settings' => 'fkidd_header_email', 'type' => 'text', ) ) ); // Add footer copyright text $wp_customize->add_setting( 'fkidd_footer_copyright', array( 'default' => '', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'fkidd_footer_copyright', array( 'label' => __( 'Copyright Text', 'fkidd' ), 'section' => 'fkidd_header_and_footer_section', 'settings' => 'fkidd_footer_copyright', 'type' => 'text', ) ) ); /** * Add Social Sites Section */ $wp_customize->add_section( 'fkidd_social_section', array( 'title' => __( 'Social Sites', 'fkidd' ), 'capability' => 'edit_theme_options', ) ); // Add facebook url fkidd_customize_add_social_site($wp_customize, 'fkidd_social_facebook', __( 'Facebook Page URL', 'fkidd' )); // Add twitter url fkidd_customize_add_social_site($wp_customize, 'fkidd_social_twitter', __( 'Twitter URL', 'fkidd' )); // Add LinkedIn fkidd_customize_add_social_site($wp_customize, 'fkidd_social_linkedin', __( 'LinkedIn', 'fkidd' )); // Add Instagram fkidd_customize_add_social_site($wp_customize, 'fkidd_social_instagram', __( 'Instagram', 'fkidd' )); // Add RSS Feeds url fkidd_customize_add_social_site($wp_customize, 'fkidd_social_rss', __( 'RSS Feeds URL', 'fkidd' )); // Add Tumblr Text Control fkidd_customize_add_social_site($wp_customize, 'fkidd_social_tumblr', __( 'Tumblr', 'fkidd' )); // Add YouTube channel url fkidd_customize_add_social_site($wp_customize, 'fkidd_social_youtube', __( 'YouTube channel URL', 'fkidd' )); // Add Pinterest Text Control fkidd_customize_add_social_site($wp_customize, 'fkidd_social_pinterest', __( 'Pinterest', 'fkidd' )); // Add VK Text Control fkidd_customize_add_social_site($wp_customize, 'fkidd_social_vk', __( 'VK', 'fkidd' )); // Add Flickr Text Control fkidd_customize_add_social_site($wp_customize, 'fkidd_social_flickr', __( 'Flickr', 'fkidd' )); // Add Vine Text Control fkidd_customize_add_social_site($wp_customize, 'fkidd_social_vine', __( 'Vine', 'fkidd' )); /** * Add Animations Section */ $wp_customize->add_section( 'fkidd_animations_display', array( 'title' => __( 'Animations', 'fkidd' ), 'capability' => 'edit_theme_options', ) ); // Add display Animations option $wp_customize->add_setting( 'fkidd_animations_display', array( 'default' => 1, 'sanitize_callback' => 'fkidd_sanitize_checkbox', ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'fkidd_animations_display', array( 'label' => __( 'Enable Animations', 'fkidd' ), 'section' => 'fkidd_animations_display', 'settings' => 'fkidd_animations_display', 'type' => 'checkbox', ) ) ); } add_action('customize_register', 'fkidd_customize_register'); /** * the main function to load scripts in the fKidd theme * if you add a new load of script, style, etc. you can use that function * instead of adding a new wp_enqueue_scripts action for it. */ function fkidd_load_scripts() { // load main stylesheet. wp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/css/font-awesome.min.css', array( ) ); wp_enqueue_style( 'animate-css', get_template_directory_uri() . '/css/animate.css', array( ) ); wp_enqueue_style( 'fkidd-style', get_stylesheet_uri(), array() ); wp_enqueue_style( 'fkidd-fonts', fkidd_fonts_url(), array(), null ); // Load thread comments reply script if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } // Load Utilities JS Script wp_enqueue_script( 'viewportchecker', get_template_directory_uri() . '/js/viewportchecker.js', array( 'jquery' ) ); wp_enqueue_script( 'fkidd-utilities-js', get_template_directory_uri() . '/js/utilities.js', array( 'jquery', 'viewportchecker' ) ); $data = array( 'loading_effect' => ( get_theme_mod('fkidd_animations_display', 1) == 1 ), ); wp_localize_script('fkidd-utilities-js', 'fkidd_options', $data); wp_enqueue_script( 'jquery.easing.1.3', get_template_directory_uri() . '/js/jquery.easing.1.3.js', array( 'jquery' ) ); wp_enqueue_script( 'camera', get_template_directory_uri() . '/js/camera.min.js', array( 'jquery' ) ); } add_action( 'wp_enqueue_scripts', 'fkidd_load_scripts' ); /** * Load google font url used in the fKidd theme */ function fkidd_fonts_url() { $fonts_url = ''; /* Translators: If there are characters in your language that are not * supported by Lato, translate this to 'off'. Do not translate * into your own language. */ $lato = _x( 'on', 'Lato font: on or off', 'fkidd' ); /* Translators: If there are characters in your language that are not * supported by Open Sans, translate this to 'off'. Do not translate * into your own language. */ $open_sans = _x( 'on', 'Open Sans font: on or off', 'fkidd' ); if ( 'off' !== $lato || 'off' !== $open_sans ) { $font_families = array(); if ( 'off' !== $lato ) { $font_families[] = 'Lato:400,700,300'; } if ( 'off' !== $open_sans ) { $font_families[] = 'Open Sans:700italic,400,800,600'; } $query_args = array( 'family' => urlencode( implode( '|', $font_families ) ), 'subset' => urlencode( 'latin,latin-ext' ), ); $fonts_url = add_query_arg( $query_args, '//fonts.googleapis.com/css' ); } return $fonts_url; } /** * widgets-init action handler. Used to register widgets and register widget areas */ function fkidd_widgets_init() { // Sidebar Widget. register_sidebar( array ( 'name' => __( 'Sidebar Widget Area', 'fkidd'), 'id' => 'sidebar-widget-area', 'description' => __( 'The sidebar widget area', 'fkidd'), 'before_widget' => '', 'after_widget' => '', 'before_title' => '', ) ); // Add Homepage Widget areas register_sidebar( array ( 'name' => __( 'Homepage Column #1', 'fkidd' ), 'id' => 'homepage-column-1-widget-area', 'description' => __( 'The Homepage Column #1 widget area', 'fkidd' ), 'before_widget' => '', 'after_widget' => '', 'before_title' => '', ) ); register_sidebar( array ( 'name' => __( 'Homepage Column #2', 'fkidd' ), 'id' => 'homepage-column-2-widget-area', 'description' => __( 'The Homepage Column #2 widget area', 'fkidd' ), 'before_widget' => '', 'after_widget' => '', 'before_title' => '', ) ); register_sidebar( array ( 'name' => __( 'Homepage Column #3', 'fkidd' ), 'id' => 'homepage-column-3-widget-area', 'description' => __( 'The Homepage Column #3 widget area', 'fkidd' ), 'before_widget' => '', 'after_widget' => '', 'before_title' => '', ) ); register_sidebar( array ( 'name' => __( 'Homepage Below Columns', 'fkidd' ), 'id' => 'homepage-below-widget-area', 'description' => __( 'A widget area below homepage columns', 'fkidd' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '', ) ); // Register Footer Column #1 register_sidebar( array ( 'name' => __( 'Footer Column #1', 'fkidd' ), 'id' => 'footer-column-1-widget-area', 'description' => __( 'The Footer Column #1 widget area', 'fkidd' ), 'before_widget' => '', 'after_widget' => '', 'before_title' => '', ) ); // Register Footer Column #2 register_sidebar( array ( 'name' => __( 'Footer Column #2', 'fkidd' ), 'id' => 'footer-column-2-widget-area', 'description' => __( 'The Footer Column #2 widget area', 'fkidd' ), 'before_widget' => '', 'after_widget' => '', 'before_title' => '', ) ); // Register Footer Column #3 register_sidebar( array ( 'name' => __( 'Footer Column #3', 'fkidd' ), 'id' => 'footer-column-3-widget-area', 'description' => __( 'The Footer Column #3 widget area', 'fkidd' ), 'before_widget' => '', 'after_widget' => '', 'before_title' => '', ) ); } add_action( 'widgets_init', 'fkidd_widgets_init' ); function fkidd_display_single_social_site($socialSiteID, $title, $cssClass) { $socialURL = get_theme_mod( $socialSiteID ); if ( !empty($socialURL) ) { echo '
  • '; } } /** * Display Social Websites */ function fkidd_display_social_sites() { fkidd_display_single_social_site('fkidd_social_facebook', __('Follow us on Facebook', 'fkidd'), 'facebook16' ); fkidd_display_single_social_site('fkidd_social_twitter', __('Follow us on Twitter', 'fkidd'), 'twitter16' ); fkidd_display_single_social_site('fkidd_social_linkedin', __('Follow us on LinkedIn', 'fkidd'), 'linkedin16' ); fkidd_display_single_social_site('fkidd_social_instagram', __('Follow us on Instagram', 'fkidd'), 'instagram16' ); fkidd_display_single_social_site('fkidd_social_rss', __('Follow our RSS Feeds', 'fkidd'), 'rss16' ); fkidd_display_single_social_site('fkidd_social_tumblr', __('Follow us on Tumblr', 'fkidd'), 'tumblr16' ); fkidd_display_single_social_site('fkidd_social_youtube', __('Follow us on Youtube', 'fkidd'), 'youtube16' ); fkidd_display_single_social_site('fkidd_social_pinterest', __('Follow us on Pinterest', 'fkidd'), 'pinterest16' ); fkidd_display_single_social_site('fkidd_social_vk', __('Follow us on VK', 'fkidd'), 'vk16' ); fkidd_display_single_social_site('fkidd_social_flickr', __('Follow us on Flickr', 'fkidd'), 'flickr16' ); fkidd_display_single_social_site('fkidd_social_vine', __('Follow us on Vine', 'fkidd'), 'vine16' ); } /** * Displays the header phone. */ function fkidd_show_header_phone() { $phone = get_theme_mod('fkidd_header_phone'); if ( !empty( $phone ) ) { echo '' . esc_html($phone) . ''; } } /** * Displays the header email. */ function fkidd_show_header_email() { $email = get_theme_mod('fkidd_header_email'); if ( !empty( $email ) ) { echo '' . esc_html($email) . ''; } } /** * Displays the copyright text. */ function fkidd_show_copyright_text() { $footerText = get_theme_mod('fkidd_footer_copyright', null); if ( !empty( $footerText ) ) { echo esc_html( $footerText ) . ' | '; } } function fkidd_show_website_logo_image_and_title() { if ( has_custom_logo() ) { the_custom_logo(); } $header_text_color = get_header_textcolor(); if ( 'blank' !== $header_text_color ) { echo '
    '; echo ''; echo '

    ' . esc_html( get_bloginfo('name') ) . '

    '; echo '
    '; echo '' . esc_html( get_bloginfo('description') ) . ''; echo '
    '; } } /** * Displays the slider */ function fkidd_display_slider() { ?>
    , set 'menu_class' and 'menu_id' values $wrap = '