240, 'width' => 240, 'flex-height' => true, ) ); add_image_size('florist-flower-shop-homepage-thumb',240,145,true); register_nav_menus( array( 'primary' => __( 'Primary Menu', 'florist-flower-shop' ), ) ); add_theme_support( 'custom-background', array( 'default-color' => 'ffffff' ) ); //selective refresh for sidebar and widgets add_theme_support( 'customize-selective-refresh-widgets' ); /* * Enable support for Post Formats. * * See: https://codex.wordpress.org/Post_Formats */ add_theme_support( 'post-formats', array('image','video','gallery','audio',) ); /* * This theme styles the visual editor to resemble the theme style, * specifically font, colors, icons, and column width. */ add_editor_style( array( 'css/editor-style.css', florist_flower_shop_font_url() ) ); // Theme Activation Notice global $pagenow; if (is_admin() || ('themes.php' == $pagenow)) { add_action('admin_notices', 'florist_flower_shop_activation_notice'); } } endif; add_action( 'after_setup_theme', 'florist_flower_shop_setup' ); // Notice after Theme Activation function florist_flower_shop_activation_notice() { echo '
'; echo '

'. esc_html__( 'Thank you for choosing Florist Flower Shop. Would like to have you on our Welcome page so that you can reap all the benefits of our Florist Flower Shop.', 'florist-flower-shop' ) .'

'; echo '

'. esc_html__( 'GET STARTED', 'florist-flower-shop' ) .'

'; echo '
'; } /* Theme Widgets Setup */ function florist_flower_shop_widgets_init() { register_sidebar( array( 'name' => __( 'Blog Sidebar', 'florist-flower-shop' ), 'description' => __( 'Appears on blog page sidebar', 'florist-flower-shop' ), 'id' => 'sidebar-1', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Page Sidebar', 'florist-flower-shop' ), 'description' => __( 'Appears on page sidebar', 'florist-flower-shop' ), 'id' => 'sidebar-2', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Sidebar 3', 'florist-flower-shop' ), 'description' => __( 'Appears on blog page sidebar', 'florist-flower-shop' ), 'id' => 'sidebar-3', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Footer Navigation 1', 'florist-flower-shop' ), 'description' => __( 'Appears on footer 1', 'florist-flower-shop' ), 'id' => 'footer-1', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Footer Navigation 2', 'florist-flower-shop' ), 'description' => __( 'Appears on footer 2', 'florist-flower-shop' ), 'id' => 'footer-2', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Footer Navigation 3', 'florist-flower-shop' ), 'description' => __( 'Appears on footer 3', 'florist-flower-shop' ), 'id' => 'footer-3', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Footer Navigation 4', 'florist-flower-shop' ), 'description' => __( 'Appears on footer 4', 'florist-flower-shop' ), 'id' => 'footer-4', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Shop Page Sidebar', 'florist-flower-shop' ), 'description' => __( 'Appears on shop page', 'florist-flower-shop' ), 'id' => 'woocommerce-shop-sidebar', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Single Product Sidebar', 'florist-flower-shop' ), 'description' => __( 'Appears on single product page', 'florist-flower-shop' ), 'id' => 'woocommerce-single-sidebar', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Social Media', 'florist-flower-shop' ), 'description' => __( 'Appears on top header', 'florist-flower-shop' ), 'id' => 'social-links', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); } add_action( 'widgets_init', 'florist_flower_shop_widgets_init' ); /* Theme Font URL */ function florist_flower_shop_font_url() { $font_url = ''; $font_family = array(); $font_family[] = 'Sail'; $font_family[] = 'Jomhuria'; $font_family[] = 'Jost:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i'; $font_family[] = 'ABeeZee:400,400i'; $font_family[] = 'Trirong:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i'; $font_family[] = 'ZCOOL XiaoWei'; $font_family[] = 'Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i'; $font_family[] = 'Heebo:100,300,400,500,700,800,900'; $font_family[] = 'Saira:100,200,300,400,500,600,700,800,900'; $font_family[] = 'Krub:200,200i,300,300i,400,400i,500,500i,600,600i,700,700i'; $font_family[] = 'PT Sans:300,400,600,700,800,900'; $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,600,600i,700,700i,800,800i'; $font_family[] = 'Fira Sans:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i'; $font_family[] = 'Overpass'; $font_family[] = 'Staatliches'; $font_family[] = 'Montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i'; $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:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,800;0,900;1,100;1,200;1,400;1,500;1,600;1,700;1,800;1,900'; $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:100;0,200;0,300;0,400;0,500;0,600;0,800;0,900;1,100;1,200;1,400;1,500;1,600;1,700;1,800;1,900'; $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:300,400,700'; $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:400,400i,600,600i,700,700i,900,900i'; $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'; $query_args = array( 'family' => rawurlencode(implode('|',$font_family)), ); $font_url = add_query_arg($query_args,'//fonts.googleapis.com/css'); return $font_url; } /* Theme enqueue scripts */ function florist_flower_shop_scripts() { wp_enqueue_style( 'florist-flower-shop-font', florist_flower_shop_font_url(), array() ); wp_enqueue_style( 'florist-flower-shop-block-style', get_theme_file_uri('/assets/css/blocks.css') ); wp_enqueue_style( 'florist-flower-shop-block-patterns-style-frontend', get_theme_file_uri('/inc/block-patterns/css/block-frontend.css') ); wp_enqueue_style( 'bootstrap-style', esc_url(get_template_directory_uri()).'/assets/css/bootstrap.css' ); wp_enqueue_style( 'florist-flower-shop-basic-style', get_stylesheet_uri() ); wp_style_add_data('florist-flower-shop-basic-style', 'rtl', 'replace'); /* Inline style sheet */ require get_parent_theme_file_path( '/custom-style.php' ); wp_add_inline_style( 'florist-flower-shop-basic-style',$florist_flower_shop_custom_css ); wp_enqueue_style( 'font-awesome-css', esc_url(get_template_directory_uri()).'/assets/css/fontawesome-all.css' ); wp_enqueue_script( 'jquery-superfish', get_theme_file_uri( '/assets/js/jquery.superfish.js' ), array( 'jquery' ), '2.1.2', true ); wp_enqueue_script( 'bootstrap-js', esc_url(get_template_directory_uri()). '/assets/js/bootstrap.js', array('jquery') ,'',true); wp_enqueue_script( 'florist-flower-shop-custom-scripts-jquery', esc_url(get_template_directory_uri()) . '/assets/js/custom.js', array('jquery'),'' ,true ); wp_enqueue_script( 'florist-flower-shop-jquery-wow', esc_url(get_template_directory_uri()) . '/assets/js/wow.js', array('jquery') ); wp_enqueue_style( 'florist-flower-shop-animate-css', esc_url(get_template_directory_uri()).'/assets/css/animate.css' ); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } /* Enqueue the Dashicons script */ wp_enqueue_style( 'dashicons' ); } add_action( 'wp_enqueue_scripts', 'florist_flower_shop_scripts' ); /** * Enqueue block editor style */ function florist_flower_shop_block_editor_styles() { wp_enqueue_style( 'florist-flower-shop-font', florist_flower_shop_font_url(), array() ); wp_enqueue_style( 'bootstrap-style', esc_url(get_template_directory_uri()).'/assets/css/bootstrap.css' ); wp_enqueue_style( 'florist-flower-shop-block-patterns-style-editor', get_theme_file_uri( '/inc/block-patterns/css/block-editor.css' ), false, '1.0', 'all' ); } add_action( 'enqueue_block_editor_assets', 'florist_flower_shop_block_editor_styles' ); define('FLORIST_FLOWER_SHOP_FREE_THEME_DOC',__('https://www.vwthemesdemo.com/docs/free-florist-flower-shop/','florist-flower-shop')); define('FLORIST_FLOWER_SHOP_SUPPORT',__('https://wordpress.org/support/theme/florist-flower-shop/','florist-flower-shop')); define('FLORIST_FLOWER_SHOP_REVIEW',__('https://wordpress.org/support/theme/florist-flower-shop/reviews','florist-flower-shop')); define('FLORIST_FLOWER_SHOP_BUY_NOW',__('https://www.vwthemes.com/themes/flower-shop-wordpress-theme/','florist-flower-shop')); define('FLORIST_FLOWER_SHOP_LIVE_DEMO',__('https://www.vwthemes.net/vw-flower-shop/','florist-flower-shop')); define('FLORIST_FLOWER_SHOP_PRO_DOC',__('https://www.vwthemesdemo.com/docs/vw-flower-shop/','florist-flower-shop')); define('FLORIST_FLOWER_SHOP_FAQ',__('https://www.vwthemes.com/faqs/','florist-flower-shop')); define('FLORIST_FLOWER_SHOP_CONTACT',__('https://www.vwthemes.com/contact/','florist-flower-shop')); define('FLORIST_FLOWER_SHOP_CHILD_THEME',__('https://developer.wordpress.org/themes/advanced-topics/child-themes/','florist-flower-shop')); define('FLORIST_FLOWER_SHOP_CREDIT',__('https://www.vwthemes.com/themes/free-flower-shop-wordpress-theme/','florist-flower-shop')); if ( ! function_exists( 'florist_flower_shop_credit' ) ) { function florist_flower_shop_credit(){ echo "".esc_html__('Flower Shop WordPress Theme','florist-flower-shop').""; } } function florist_flower_shop_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 florist_flower_shop_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 florist_flower_shop_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 florist_flower_shop_sanitize_select( $input, $setting ){ //input must be a slug: lowercase alphanumeric characters, dashes and underscores are allowed only $input = sanitize_key($input); //get the list of possible select options $choices = $setting->manager->get_control( $setting->id )->choices; //return input if valid or return default option return ( array_key_exists( $input, $choices ) ? $input : $setting->default ); } /* Excerpt Limit Begin */ function florist_flower_shop_string_limit_words($string, $word_limit) { $words = explode(' ', $string, ($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', 'florist_flower_shop_loop_columns'); if (!function_exists('florist_flower_shop_loop_columns')) { function florist_flower_shop_loop_columns() { return 3; // 3 products per row } } function florist_flower_shop_logo_title_hide_show(){ if(get_theme_mod('florist_flower_shop_logo_title_hide_show') == '1' ) { return true; } return false; } function florist_flower_shop_tagline_hide_show(){ if(get_theme_mod('florist_flower_shop_tagline_hide_show') == '1' ) { return true; } return false; } /* Implement the Custom Header feature. */ require get_template_directory() . '/inc/custom-header.php'; /* Custom template tags for this theme. */ require get_template_directory() . '/inc/template-tags.php'; /* Customizer additions. */ require get_template_directory() . '/inc/customizer.php'; /* Typography */ require get_template_directory() . '/inc/typography/ctypo.php'; /* Social Icons */ require get_template_directory() . '/inc/themes-widgets/social-icon.php'; /* Block Pattern */ require get_template_directory() . '/inc/block-patterns/block-patterns.php'; /* Implement the About theme page */ require get_template_directory() . '/inc/getstart/getstart.php'; /* TGM Plugin Activation */ require get_template_directory() . '/inc/tgm/tgm.php'; /* Plugin Activation */ require get_template_directory() . '/inc/getstart/plugin-activation.php';