240, 'width' => 240, 'flex-height' => true, ) ); add_image_size('cake-bakery-homepage-thumb',240,145,true); register_nav_menus( array( 'primary' => esc_html__( 'Primary Menu', 'cake-bakery' ), ) ); add_theme_support( 'custom-background', array( 'default-color' => 'f1f1f1' ) ); /* * 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', ) ); add_theme_support('responsive-embeds'); add_editor_style( array( 'assets/css/editor-style.css', cake_bakery_font_url() ) ); } endif; // cake_bakery_setup add_action( 'after_setup_theme', 'cake_bakery_setup' ); /* Breadcrumb Begin */ function cake_bakery_breadcrumb() { if (!is_home()) { echo ''; bloginfo('name'); echo " "; if (is_category() || is_single()) { echo " » "; the_category(', '); if (is_single()) { echo " » "; echo " "; the_title(); echo ""; } } elseif (is_page()) { echo " » "; echo " "; the_title(); echo " "; } } } /*radio button sanitization*/ function cake_bakery_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 cake_bakery_sanitize_phone_number( $phone ) { return preg_replace( '/[^\d+]/', '', $phone ); } function cake_bakery_sanitize_checkbox( $input ) { return ( ( isset( $input ) && true == $input ) ? true : false ); } function cake_bakery_sanitize_float( $input ) { return filter_var($input, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); } // Change number or products per row to 3 add_filter('loop_shop_columns', 'cake_bakery_loop_columns'); if (!function_exists('cake_bakery_loop_columns')) { function cake_bakery_loop_columns() { $columns = get_theme_mod( 'cake_bakery_products_per_column', 3 ); return $columns; // 3 products per row } } //Change number of products that are displayed per page (shop page) add_filter( 'loop_shop_per_page', 'cake_bakery_shop_per_page', 20 ); function cake_bakery_shop_per_page( $cols ) { $cols = get_theme_mod( 'cake_bakery_products_per_page', 9 ); return $cols; } function cake_bakery_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 ); } /* Excerpt Limit Begin */ function cake_bakery_string_limit_words($string, $word_limit) { $words = explode(' ', $string, ($word_limit + 1)); if(count($words) > $word_limit) array_pop($words); return implode(' ', $words); } /* Theme Widgets Setup */ function cake_bakery_widgets_init() { register_sidebar( array( 'name' => esc_html__( 'Blog Sidebar', 'cake-bakery' ), 'description' => esc_html__( 'Appears on blog page sidebar', 'cake-bakery' ), 'id' => 'sidebar-1', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => esc_html__( 'Posts and Pages Sidebar', 'cake-bakery' ), 'description' => esc_html__( 'Appears on posts and pages', 'cake-bakery' ), 'id' => 'sidebar-2', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => esc_html__( 'Sidebar 3', 'cake-bakery' ), 'description' => esc_html__( 'Appears on posts and pages', 'cake-bakery' ), 'id' => 'sidebar-3', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => esc_html__( 'Footer 1', 'cake-bakery' ), 'description' => esc_html__( 'Appears in footer', 'cake-bakery' ), 'id' => 'footer-1', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => esc_html__( 'Footer 2', 'cake-bakery' ), 'description' => esc_html__( 'Appears in footer', 'cake-bakery' ), 'id' => 'footer-2', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => esc_html__( 'Footer 3', 'cake-bakery' ), 'description' => esc_html__( 'Appears in footer', 'cake-bakery' ), 'id' => 'footer-3', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => esc_html__( 'Footer 4', 'cake-bakery' ), 'description' => esc_html__( 'Appears in footer', 'cake-bakery' ), 'id' => 'footer-4', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); } add_action( 'widgets_init', 'cake_bakery_widgets_init' ); /* Theme Font URL */ function cake_bakery_font_url(){ $font_url = ''; $font_family = array(); $font_family[] = 'PT Sans:400,400i,700,700i'; $font_family[] = 'Berkshire+Swash:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i'; $font_family[] = 'Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i'; $font_family[] = 'Roboto Condensed:400,700'; $font_family[] = 'Open Sans:300,300i,400,400i,500,500i,600,600i,700,700i,800,800i'; $font_family[] = 'Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i'; $font_family[] = 'Overpass'; $font_family[] = 'Montserrat:300,400,600,700,800,900'; $font_family[] = 'Playball:300,400,600,700,800,900'; $font_family[] = 'Alegreya:300,400,600,700,800,900'; $font_family[] = 'Julius Sans One'; $font_family[] = 'Arsenal'; $font_family[] = 'Slabo'; $font_family[] = 'Lato'; $font_family[] = 'Overpass Mono'; $font_family[] = 'Source Sans Pro'; $font_family[] = 'Raleway'; $font_family[] = 'Merriweather'; $font_family[] = 'Droid Sans'; $font_family[] = 'Rubik'; $font_family[] = 'Lora'; $font_family[] = 'Ubuntu'; $font_family[] = 'Cabin'; $font_family[] = 'Arimo'; $font_family[] = 'Playfair Display'; $font_family[] = 'Quicksand'; $font_family[] = 'Padauk'; $font_family[] = 'Muli'; $font_family[] = 'Inconsolata'; $font_family[] = 'Bitter'; $font_family[] = 'Pacifico'; $font_family[] = 'Indie Flower'; $font_family[] = 'VT323'; $font_family[] = 'Dosis'; $font_family[] = 'Frank Ruhl Libre'; $font_family[] = 'Fjalla One'; $font_family[] = 'Oxygen'; $font_family[] = 'Arvo'; $font_family[] = 'Noto Serif'; $font_family[] = 'Lobster'; $font_family[] = 'Crimson Text'; $font_family[] = 'Yanone Kaffeesatz'; $font_family[] = 'Anton'; $font_family[] = 'Libre Baskerville'; $font_family[] = 'Bree Serif'; $font_family[] = 'Gloria Hallelujah'; $font_family[] = 'Josefin Sans'; $font_family[] = 'Abril Fatface'; $font_family[] = 'Varela Round'; $font_family[] = 'Vampiro One'; $font_family[] = 'Shadows Into Light'; $font_family[] = 'Cuprum'; $font_family[] = 'Rokkitt'; $font_family[] = 'Vollkorn'; $font_family[] = 'Francois One'; $font_family[] = 'Orbitron'; $font_family[] = 'Patua One'; $font_family[] = 'Acme'; $font_family[] = 'Satisfy'; $font_family[] = 'Josefin Slab'; $font_family[] = 'Quattrocento Sans'; $font_family[] = 'Architects Daughter'; $font_family[] = 'Russo One'; $font_family[] = 'Monda'; $font_family[] = 'Righteous'; $font_family[] = 'Lobster Two'; $font_family[] = 'Hammersmith One'; $font_family[] = 'Courgette'; $font_family[] = 'Permanent Marker'; $font_family[] = 'Cherry Swash'; $font_family[] = 'Cormorant Garamond'; $font_family[] = 'Poiret One'; $font_family[] = 'BenchNine'; $font_family[] = 'Economica'; $font_family[] = 'Handlee'; $font_family[] = 'Cardo'; $font_family[] = 'Alfa Slab One'; $font_family[] = 'Averia Serif Libre'; $font_family[] = 'Cookie'; $font_family[] = 'Chewy'; $font_family[] = 'Great Vibes'; $font_family[] = 'Coming Soon'; $font_family[] = 'Philosopher'; $font_family[] = 'Days One'; $font_family[] = 'Kanit'; $font_family[] = 'Shrikhand'; $font_family[] = 'Tangerine'; $font_family[] = 'IM Fell English SC'; $font_family[] = 'Boogaloo'; $font_family[] = 'Bangers'; $font_family[] = 'Fredoka One'; $font_family[] = 'Bad Script'; $font_family[] = 'Volkhov'; $font_family[] = 'Shadows Into Light Two'; $font_family[] = 'Marck Script'; $font_family[] = 'Sacramento'; $font_family[] = 'Unica One'; $font_family[] = 'Kaisei HarunoUmi:wght@400;500;700'; $font_family[] = 'Yeseva One'; $query_args = array( 'family' => rawurlencode(implode('|',$font_family)), ); $font_url = add_query_arg($query_args,'//fonts.googleapis.com/css'); return $font_url; $contents = wptt_get_webfont_url( esc_url_raw( $fonts_url ) ); } /* Theme enqueue scripts */ function cake_bakery_scripts() { wp_enqueue_style( 'cake-bakery-font', cake_bakery_font_url(), array() ); wp_enqueue_style( 'bootstrap-css', get_template_directory_uri() . '/assets/css/bootstrap.css'); wp_enqueue_style( 'cake-bakery-basic-style', get_stylesheet_uri() ); wp_style_add_data( 'cake-bakery-style', 'rtl', 'replace' ); wp_enqueue_style( 'font-awesome-css', get_template_directory_uri().'/assets/css/fontawesome-all.css' ); wp_enqueue_style( 'custom-aniumations', get_template_directory_uri().'/assets/css/animations.css' ); // Paragraph $cake_bakery_paragraph_color = get_theme_mod('cake_bakery_paragraph_color', ''); $cake_bakery_paragraph_font_family = get_theme_mod('cake_bakery_paragraph_font_family', ''); $cake_bakery_paragraph_font_size = get_theme_mod('cake_bakery_paragraph_font_size', ''); // "a" tag $cake_bakery_atag_color = get_theme_mod('cake_bakery_atag_color', ''); $cake_bakery_atag_font_family = get_theme_mod('cake_bakery_atag_font_family', ''); // "li" tag $cake_bakery_li_color = get_theme_mod('cake_bakery_li_color', ''); $cake_bakery_li_font_family = get_theme_mod('cake_bakery_li_font_family', ''); // H1 $cake_bakery_h1_color = get_theme_mod('cake_bakery_h1_color', ''); $cake_bakery_h1_font_family = get_theme_mod('cake_bakery_h1_font_family', ''); $cake_bakery_h1_font_size = get_theme_mod('cake_bakery_h1_font_size', ''); // H2 $cake_bakery_h2_color = get_theme_mod('cake_bakery_h2_color', ''); $cake_bakery_h2_font_family = get_theme_mod('cake_bakery_h2_font_family', ''); $cake_bakery_h2_font_size = get_theme_mod('cake_bakery_h2_font_size', ''); // H3 $cake_bakery_h3_color = get_theme_mod('cake_bakery_h3_color', ''); $cake_bakery_h3_font_family = get_theme_mod('cake_bakery_h3_font_family', ''); $cake_bakery_h3_font_size = get_theme_mod('cake_bakery_h3_font_size', ''); // H4 $cake_bakery_h4_color = get_theme_mod('cake_bakery_h4_color', ''); $cake_bakery_h4_font_family = get_theme_mod('cake_bakery_h4_font_family', ''); $cake_bakery_h4_font_size = get_theme_mod('cake_bakery_h4_font_size', ''); // H5 $cake_bakery_h5_color = get_theme_mod('cake_bakery_h5_color', ''); $cake_bakery_h5_font_family = get_theme_mod('cake_bakery_h5_font_family', ''); $cake_bakery_h5_font_size = get_theme_mod('cake_bakery_h5_font_size', ''); // H6 $cake_bakery_h6_color = get_theme_mod('cake_bakery_h6_color', ''); $cake_bakery_h6_font_family = get_theme_mod('cake_bakery_h6_font_family', ''); $cake_bakery_h6_font_size = get_theme_mod('cake_bakery_h6_font_size', ''); $cake_bakery_custom_css =' p,span{ color:'.esc_attr($cake_bakery_paragraph_color).'!important; font-family: '.esc_attr($cake_bakery_paragraph_font_family).'; font-size: '.esc_attr($cake_bakery_paragraph_font_size).'px ; } a{ color:'.esc_attr($cake_bakery_atag_color).'!important; font-family: '.esc_attr($cake_bakery_atag_font_family).'; } li{ color:'.esc_attr($cake_bakery_li_color).'!important; font-family: '.esc_attr($cake_bakery_li_font_family).'; } h1{ color:'.esc_attr($cake_bakery_h1_color).'!important; font-family: '.esc_attr($cake_bakery_h1_font_family).'!important; font-size: '.esc_attr($cake_bakery_h1_font_size).'px !important; } h2{ color:'.esc_attr($cake_bakery_h2_color).'!important; font-family: '.esc_attr($cake_bakery_h2_font_family).'!important; font-size: '.esc_attr($cake_bakery_h2_font_size).'px !important; } h3{ color:'.esc_attr($cake_bakery_h3_color).'!important; font-family: '.esc_attr($cake_bakery_h3_font_family).'!important; font-size: '.esc_attr($cake_bakery_h3_font_size).'px !important; } h4{ color:'.esc_attr($cake_bakery_h4_color).'!important; font-family: '.esc_attr($cake_bakery_h4_font_family).'!important; font-size: '.esc_attr($cake_bakery_h4_font_size).'px !important; } h5{ color:'.esc_attr($cake_bakery_h5_color).'!important; font-family: '.esc_attr($cake_bakery_h5_font_family).'!important; font-size: '.esc_attr($cake_bakery_h5_font_size).'px !important; } h6{ color:'.esc_attr($cake_bakery_h6_color).'!important; font-family: '.esc_attr($cake_bakery_h6_font_family).'!important; font-size: '.esc_attr($cake_bakery_h6_font_size).'px !important; } '; wp_add_inline_style( 'cake-bakery-basic-style',$cake_bakery_custom_css ); wp_enqueue_script( 'bootstrap-js', get_template_directory_uri() . '/assets/js/bootstrap.js', array('jquery') ,'',true); wp_enqueue_script( 'cake-bakery-custom-jquery', get_template_directory_uri() . '/assets/js/custom.js', array('jquery') ); wp_enqueue_script( 'jquery-superfish', get_template_directory_uri() . '/assets/js/jquery.superfish.js', array('jquery') ,'',true); require get_parent_theme_file_path( '/lt-inline-style.php' ); wp_add_inline_style( 'cake-bakery-basic-style',$cake_bakery_custom_css ); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } } add_action( 'wp_enqueue_scripts', 'cake_bakery_scripts' ); require get_template_directory() . '/inc/template-tags.php'; require get_template_directory() . '/inc/customizer.php'; require get_template_directory() . '/inc/custom-header.php'; require get_template_directory() . '/wptt-webfont-loader.php'; function custom_fallback_menu() { echo ''; } add_action('admin_notices', 'cake_bakery_global_promo_notice'); function cake_bakery_global_promo_notice() { // Only show if the theme exists in wp-content/themes/ $theme_dir = WP_CONTENT_DIR . '/themes/cake-bakery'; if (!file_exists($theme_dir)) return; // Optional: only for admin users if (!current_user_can('manage_options')) return; $screenshot = content_url('/themes/cake-bakery/screenshot.png'); ?>
Use this coupon code to get 15% off: FREEWORDTHEME
Cake Bakery Theme
Try The Cake Bakery Theme Pro!
Unlock Premium Features, Layouts, Banner Slider, Fully Responsive, Woocommerce Support, Multilanguage, Theme Options and Priority Support.
View Demo Get Premium

🎉 Thank You for Installing logical Theme!

We're excited to help you build your website. Let's get started by setting up your theme.

🚀 Setup Your Theme

'page', 'title' => $page_title, 'posts_per_page' => 1, 'post_status' => 'any', ) ); if ( $existing_page->have_posts() ) { $existing_page->the_post(); $home_page_id = get_the_ID(); } else { // Create "Home" page $home_page_id = wp_insert_post( array( 'post_title' => $page_title, 'post_status' => 'publish', 'post_type' => 'page', 'post_content' => '', ) ); } wp_reset_postdata(); // Set template and homepage options if ( $home_page_id ) { // Set page template - use relative path from theme root update_post_meta( $home_page_id, '_wp_page_template', 'page-template/home-custom.php' ); // Set as static homepage update_option( 'show_on_front', 'page' ); update_option( 'page_on_front', $home_page_id ); } } add_action( 'after_switch_theme', 'logical_create_home_page_on_activation' ); // Alternative method - using init hook with higher priority function logical_create_home_page_alternative() { // Only run once after theme activation if ( get_option( 'logical_home_page_created' ) ) { return; } $page_title = 'Home'; $home_page_id = 0; // Check if "Home" page already exists $existing_page = get_page_by_title( $page_title ); if ( $existing_page ) { $home_page_id = $existing_page->ID; } else { // Create "Home" page $home_page_id = wp_insert_post( array( 'post_title' => $page_title, 'post_status' => 'publish', 'post_type' => 'page', 'post_content' => '', ) ); } // Set template and homepage options if ( $home_page_id ) { // Set page template update_post_meta( $home_page_id, '_wp_page_template', 'page-template/custom-home-page.php' ); // Set as static homepage update_option( 'show_on_front', 'page' ); update_option( 'page_on_front', $home_page_id ); // Mark as created update_option( 'logical_home_page_created', true ); } } // Uncomment below line if main function doesn't work // add_action( 'init', 'logical_create_home_page_alternative' );