__( 'Primary Menu', 'babysitter-childcare' ), ) ); // Add theme support for Custom Logo. add_theme_support( 'custom-logo', array( 'width' => 250, 'height' => 250, 'flex-width' => true, 'flex-height' => true, ) ); // Add theme support for selective refresh for widgets. add_theme_support( 'customize-selective-refresh-widgets' ); add_theme_support( 'custom-background', array( 'default-color' => 'ffffff' ) ); /* * Enable support for Post Formats. * * See: https://codex.wordpress.org/Post_Formats */ add_theme_support( 'post-formats', array('image','video','gallery','audio',) ); add_theme_support( 'html5', array('comment-form','comment-list','gallery','caption',) ); /* * 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', babysitter_childcare_fonts_url() ) ); } add_action( 'after_setup_theme', 'babysitter_childcare_setup' ); /** * Register custom fonts. */ function babysitter_childcare_fonts_url() { $babysitter_childcare_font_url = ''; $babysitter_childcare_font_family = array(); $babysitter_childcare_font_family[] = 'Mali:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;1,200;1,300;1,400;1,500;1,600;1,700'; $babysitter_childcare_font_family[] = 'Inter:wght@100;200;300;400;500;600;700;800;900'; $babysitter_childcare_font_family[] = 'Outfit:wght@100;200;300;400;500;600;700;800;900'; $babysitter_childcare_font_family[] = 'Roboto:wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900'; $babysitter_childcare_font_family[] = 'Fira Sans Condensed: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&family=Fira+Sans: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'; $babysitter_childcare_font_family[] = 'Jura:ital,wght@300;400;500;600;700'; $babysitter_childcare_font_family[] = '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'; $babysitter_childcare_font_family[] = 'Bad Script'; $babysitter_childcare_font_family[] = 'Bebas Neue'; $babysitter_childcare_font_family[] = 'Fjalla One'; $babysitter_childcare_font_family[] = 'PT Sans:ital,wght@0,400;0,700;1,400;1,700'; $babysitter_childcare_font_family[] = 'PT Serif:ital,wght@0,400;0,700;1,400;1,700'; $babysitter_childcare_font_family[] = 'Roboto Condensed:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700'; $babysitter_childcare_font_family[] = 'Alex Brush'; $babysitter_childcare_font_family[] = 'Overpass: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'; $babysitter_childcare_font_family[] = 'Montserrat: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'; $babysitter_childcare_font_family[] = 'Playball'; $babysitter_childcare_font_family[] = 'Alegreya:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900'; $babysitter_childcare_font_family[] = 'Julius Sans One'; $babysitter_childcare_font_family[] = 'Arsenal:ital,wght@0,400;0,700;1,400;1,700'; $babysitter_childcare_font_family[] = 'Slabo 13px'; $babysitter_childcare_font_family[] = 'Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900'; $babysitter_childcare_font_family[] = 'Overpass Mono:wght@300;400;500;600;700'; $babysitter_childcare_font_family[] = 'Source Sans Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900'; $babysitter_childcare_font_family[] = 'Raleway: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'; $babysitter_childcare_font_family[] = 'Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900'; $babysitter_childcare_font_family[] = 'Rubik:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900'; $babysitter_childcare_font_family[] = 'Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700'; $babysitter_childcare_font_family[] = 'Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700'; $babysitter_childcare_font_family[] = 'Cabin:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700'; $babysitter_childcare_font_family[] = 'Arimo:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700'; $babysitter_childcare_font_family[] = 'Playfair Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900'; $babysitter_childcare_font_family[] = 'Quicksand:wght@300;400;500;600;700'; $babysitter_childcare_font_family[] = 'Padauk:wght@400;700'; $babysitter_childcare_font_family[] = 'Mulish:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;0,1000;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900;1,1000'; $babysitter_childcare_font_family[] = 'Inconsolata:wght@200;300;400;500;600;700;800;900&family=Mulish:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;0,1000;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900;1,1000'; $babysitter_childcare_font_family[] = 'Bitter: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'; $babysitter_childcare_font_family[] = 'Cairo:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,200;1,300;1,400;1,500;1,600;1,700;1,800'; // Remove empty values from the array and concatenate with a pipe '|' $babysitter_childcare_font_family = array_filter($babysitter_childcare_font_family); $babysitter_childcare_font_family = implode('|', $babysitter_childcare_font_family); if (!empty($babysitter_childcare_font_family)) { $babysitter_childcare_font_url = add_query_arg( array( 'family' => urlencode($babysitter_childcare_font_family), 'display' => urlencode('swap'), ), 'https://fonts.googleapis.com/css' ); } return esc_url_raw($babysitter_childcare_font_url); } /** * Register widget area. */ function babysitter_childcare_widgets_init() { register_sidebar( array( 'name' => __( 'Blog Sidebar', 'babysitter-childcare' ), 'id' => 'sidebar-1', 'description' => __( 'Add widgets here to appear in your sidebar on blog posts and archive pages.', 'babysitter-childcare' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Page Sidebar', 'babysitter-childcare' ), 'id' => 'sidebar-2', 'description' => __( 'Add widgets here to appear in your sidebar on pages.', 'babysitter-childcare' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Sidebar 3', 'babysitter-childcare' ), 'id' => 'sidebar-3', 'description' => __( 'Add widgets here to appear in your sidebar on blog posts and archive pages.', 'babysitter-childcare' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Footer 1', 'babysitter-childcare' ), 'id' => 'footer-1', 'description' => __( 'Add widgets here to appear in your footer.', 'babysitter-childcare' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Footer 2', 'babysitter-childcare' ), 'id' => 'footer-2', 'description' => __( 'Add widgets here to appear in your footer.', 'babysitter-childcare' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Footer 3', 'babysitter-childcare' ), 'id' => 'footer-3', 'description' => __( 'Add widgets here to appear in your footer.', 'babysitter-childcare' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Footer 4', 'babysitter-childcare' ), 'id' => 'footer-4', 'description' => __( 'Add widgets here to appear in your footer.', 'babysitter-childcare' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); } add_action( 'widgets_init', 'babysitter_childcare_widgets_init' ); // Category count function babysitter_childcare_display_post_category_count() { $babysitter_childcare_category = get_the_category(); $babysitter_childcare_category_count = ($babysitter_childcare_category) ? count($babysitter_childcare_category) : 0; $babysitter_childcare_category_text = ($babysitter_childcare_category_count === 1) ? 'category' : 'categories'; // Check for pluralization echo $babysitter_childcare_category_count . ' ' . $babysitter_childcare_category_text; } //post tag function babysitter_childcare_custom_tags_filter($babysitter_childcare_tag_list) { // Replace the comma (,) with an empty string $babysitter_childcare_tag_list = str_replace(', ', '', $babysitter_childcare_tag_list); return $babysitter_childcare_tag_list; } add_filter('the_tags', 'babysitter_childcare_custom_tags_filter'); function babysitter_childcare_custom_output_tags() { $babysitter_childcare_tags = get_the_tags(); if ($babysitter_childcare_tags) { $babysitter_childcare_tags_output = '
Tags: '; $babysitter_childcare_first_tag = reset($babysitter_childcare_tags); foreach ($babysitter_childcare_tags as $tag) { $babysitter_childcare_tags_output .= ''; if ($tag !== $babysitter_childcare_first_tag) { $babysitter_childcare_tags_output .= ' '; } } $babysitter_childcare_tags_output .= '
'; echo $babysitter_childcare_tags_output; } } /** * Enqueue scripts and styles. */ function babysitter_childcare_scripts() { // Add custom fonts, used in the main stylesheet. wp_enqueue_style( 'babysitter-childcare-fonts', babysitter_childcare_fonts_url(), array(), null ); // owl wp_enqueue_style( 'owl-carousel-css', get_theme_file_uri( '/assets/css/owl.carousel.css' ) ); // Bootstrap wp_enqueue_style( 'bootstrap-css', get_theme_file_uri( '/assets/css/bootstrap.css' ) ); // Theme stylesheet. wp_enqueue_style( 'babysitter-childcare-style', get_stylesheet_uri() ); require get_parent_theme_file_path( '/tp-theme-color.php' ); wp_add_inline_style( 'babysitter-childcare-style',$babysitter_childcare_tp_theme_css ); require get_parent_theme_file_path( '/tp-body-width-layout.php' ); wp_add_inline_style( 'babysitter-childcare-style',$babysitter_childcare_tp_theme_css ); wp_style_add_data('babysitter-childcare-style', 'rtl', 'replace'); // Theme block stylesheet. wp_enqueue_style( 'babysitter-childcare-block-style', get_theme_file_uri( '/assets/css/blocks.css' ), array( 'babysitter-childcare-style' ), '1.0' ); // Fontawesome wp_enqueue_style( 'fontawesome-css', get_theme_file_uri( '/assets/css/fontawesome-all.css' ) ); wp_enqueue_script( 'bootstrap-js', get_theme_file_uri( '/assets/js/bootstrap.js' ), array( 'jquery' ), true ); wp_enqueue_script( 'owl-carousel-js', get_theme_file_uri( '/assets/js/owl.carousel.js' ), array( 'jquery' ), true ); wp_enqueue_script( 'babysitter-childcare-custom-scripts', esc_url( get_template_directory_uri() ) . '/assets/js/babysitter-childcare-custom.js', array('jquery'), true); wp_enqueue_script( 'babysitter-childcare-focus-nav', esc_url( get_template_directory_uri() ) . '/assets/js/focus-nav.js', array('jquery'), true); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } $babysitter_childcare_body_font_family = get_theme_mod('babysitter_childcare_body_font_family', ''); $babysitter_childcare_heading_font_family = get_theme_mod('babysitter_childcare_heading_font_family', ''); $babysitter_childcare_menu_font_family = get_theme_mod('babysitter_childcare_menu_font_family', ''); $babysitter_childcare_tp_theme_css = ' body{ font-family: '.esc_html($babysitter_childcare_body_font_family).'; } .more-btn a{ font-family: '.esc_html($babysitter_childcare_body_font_family).'; } h1{ font-family: '.esc_html($babysitter_childcare_heading_font_family).'; } h2{ font-family: '.esc_html($babysitter_childcare_heading_font_family).'; } h3{ font-family: '.esc_html($babysitter_childcare_heading_font_family).'; } h4{ font-family: '.esc_html($babysitter_childcare_heading_font_family).'; } h5{ font-family: '.esc_html($babysitter_childcare_heading_font_family).'; } h6{ font-family: '.esc_html($babysitter_childcare_heading_font_family).'; } #theme-sidebar .wp-block-search .wp-block-search__label{ font-family: '.esc_html($babysitter_childcare_heading_font_family).'; } .menubar,.main-navigation a{ font-family: '.esc_html($babysitter_childcare_menu_font_family).'; } '; wp_add_inline_style('babysitter-childcare-style', $babysitter_childcare_tp_theme_css); } add_action( 'wp_enqueue_scripts', 'babysitter_childcare_scripts' ); //Admin Enqueue for Admin function babysitter_childcare_admin_enqueue_scripts(){ wp_enqueue_style('babysitter-childcare-admin-style', get_template_directory_uri() . '/assets/css/admin.css'); wp_register_script( 'babysitter-childcare-admin-script', get_template_directory_uri() . '/assets/js/babysitter-childcare-admin.js', array( 'jquery' ), '', true ); wp_localize_script( 'babysitter-childcare-admin-script', 'babysitter_childcare', array( 'admin_ajax' => admin_url('admin-ajax.php'), 'wpnonce' => wp_create_nonce('babysitter_childcare_dismissed_notice_nonce') ) ); wp_enqueue_script('babysitter-childcare-admin-script'); wp_localize_script( 'babysitter-childcare-admin-script', 'babysitter_childcare_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); } add_action( 'admin_enqueue_scripts', 'babysitter_childcare_admin_enqueue_scripts' ); /*radio button sanitization*/ function babysitter_childcare_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; } } // Sanitize Sortable control. function babysitter_childcare_sanitize_sortable( $val, $setting ) { if ( is_string( $val ) || is_numeric( $val ) ) { return array( esc_attr( $val ), ); } $sanitized_value = array(); foreach ( $val as $item ) { if ( isset( $setting->manager->get_control( $setting->id )->choices[ $item ] ) ) { $sanitized_value[] = esc_attr( $item ); } } return $sanitized_value; } function babysitter_childcare_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 ); } // Change number or products per row to 3 add_filter('loop_shop_columns', 'babysitter_childcare_loop_columns'); if (!function_exists('babysitter_childcare_loop_columns')) { function babysitter_childcare_loop_columns() { $babysitter_childcare_columns = get_theme_mod( 'babysitter_childcare_per_columns', 3 ); return $babysitter_childcare_columns; } } //Change number of products that are displayed per page (shop page) add_filter( 'loop_shop_per_page', 'babysitter_childcare_per_page', 20 ); function babysitter_childcare_per_page( $babysitter_childcare_cols ) { $babysitter_childcare_cols = get_theme_mod( 'babysitter_childcare_product_per_page', 9 ); return $babysitter_childcare_cols; } function babysitter_childcare_sanitize_number_range( $number, $setting ) { // Ensure input is an absolute integer. $number = absint( $number ); // Get the input attributes associated with the setting. $atts = $setting->manager->get_control( $setting->id )->input_attrs; // Get minimum number in the range. $min = ( isset( $atts['min'] ) ? $atts['min'] : $number ); // Get maximum number in the range. $max = ( isset( $atts['max'] ) ? $atts['max'] : $number ); // Get step. $step = ( isset( $atts['step'] ) ? $atts['step'] : 1 ); // If the number is within the valid range, return it; otherwise, return the default return ( $min <= $number && $number <= $max && is_int( $number / $step ) ? $number : $setting->default ); } function babysitter_childcare_sanitize_checkbox( $input ) { // Boolean check return ( ( isset( $input ) && true == $input ) ? true : false ); } function babysitter_childcare_sanitize_phone_number( $phone ) { return preg_replace( '/[^\d+]/', '', $phone ); } function babysitter_childcare_sanitize_number_absint( $number, $setting ) { // Ensure $number is an absolute integer (whole number, zero or greater). $number = absint( $number ); // If the input is an absolute integer, return it; otherwise, return the default return ( $number ? $number : $setting->default ); } /** * Use front-page.php when Front page displays is set to a static page. */ function babysitter_childcare_front_page_template( $template ) { return is_home() ? '' : $template; } add_filter( 'frontpage_template','babysitter_childcare_front_page_template' ); add_action( 'wp_ajax_babysitter_childcare_dismissed_notice_handler', 'babysitter_childcare_ajax_notice_handler' ); function babysitter_childcare_ajax_notice_handler() { if (!wp_verify_nonce($_POST['wpnonce'], 'babysitter_childcare_dismissed_notice_nonce')) { exit; } if ( isset( $_POST['type'] ) ) { $type = sanitize_text_field( wp_unslash( $_POST['type'] ) ); update_option( 'dismissed-' . $type, TRUE ); } } function babysitter_childcare_activation_notice() { if ( ! get_option('dismissed-get_started', FALSE ) ) { ?>

'. wp_get_theme()->get('Name'). '' ); ?>

', '', '' ); ?>
' . esc_html($footer_text) . ''; } } /** * Logo Custamization. */ function babysitter_childcare_logo_width(){ $babysitter_childcare_logo_width = get_theme_mod( 'babysitter_childcare_logo_width', 50 ); echo ""; } add_action( 'wp_head', 'babysitter_childcare_logo_width' ); /** * Implement the Custom Header feature. */ require get_parent_theme_file_path( '/inc/custom-header.php' ); /** * Custom template tags for this theme. */ require get_parent_theme_file_path( '/inc/template-tags.php' ); /** * Additional features to allow styling of the templates. */ require get_parent_theme_file_path( '/inc/template-functions.php' ); /** * About Theme Page */ require get_parent_theme_file_path( '/inc/about-theme.php' ); /** * Customizer additions. */ require get_parent_theme_file_path( '/inc/customizer.php' ); /** * Load Theme Web File */ require get_parent_theme_file_path('/inc/wptt-webfont-loader.php' ); /** * Load Toggle file */ require get_parent_theme_file_path( '/inc/controls/customize-control-toggle.php' ); /** * load sortable file */ require get_parent_theme_file_path( '/inc/controls/sortable-control.php' );