__( 'Primary Menu', 'fbiz' ),
'footer' => __( 'Footer Menu', 'fbiz' ),
) );
// Add wp_enqueue_scripts actions
add_action( 'wp_enqueue_scripts', 'fbiz_load_scripts' );
add_action( 'widgets_init', 'fbiz_widgets_init' );
add_theme_support( 'post-thumbnails' );
global $content_width;
if ( ! isset( $content_width ) )
$content_width = 900;
add_theme_support( 'automatic-feed-links' );
// add Custom background
add_theme_support( 'custom-background',
array ('default-color' => '#FFFFFF')
);
// 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' => '#ffffff',
'wp-head-callback' => 'fbiz_header_style',
) );
// add custom logo
add_theme_support( 'custom-logo', array (
'width' => 75,
'height' => 75,
'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 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',
),
'footer-column-1-widget-area' => array(
'recent-comments'
),
'footer-column-2-widget-area' => array(
'recent-posts'
),
),
'posts' => array(
'home',
'blog',
'about',
'contact'
),
// 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(
'fbiz_slider_display' => 1,
'fbiz_slide1_image' => esc_url( get_template_directory_uri() . '/img/1.jpg' ),
'fbiz_slide1_content' => _x( 'Slide 1 Title
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.
Read more', 'Theme starter content', 'fbiz' ),
'fbiz_slide2_image' => esc_url( get_template_directory_uri() . '/img/2.jpg' ),
'fbiz_slide2_content' => _x( 'Slide 2 Title
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.
Read more', 'Theme starter content', 'fbiz' ),
'fbiz_slide3_image' => esc_url( get_template_directory_uri() . '/img/3.jpg' ),
'fbiz_slide3_content' => _x( 'Slide 3 Title
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.
Read more', 'Theme starter content', 'fbiz' ),
),
'nav_menus' => array(
// Assign a menu to the "primary" location.
'primary' => array(
'name' => __( 'Primary Menu', 'fbiz' ),
'items' => array(
'link_home',
'page_blog',
'page_contact',
'page_about',
),
),
// Assign a menu to the "footer" location.
'footer' => array(
'name' => __( 'Footer Menu', 'fbiz' ),
'items' => array(
'link_home',
'page_about',
'page_blog',
'page_contact',
),
),
),
);
$starter_content = apply_filters( 'fbiz_starter_content', $starter_content );
add_theme_support( 'starter-content', $starter_content );
}
endif; // fbiz_setup
add_action( 'after_setup_theme', 'fbiz_setup' );
/**
* the main function to load scripts in the fBiz 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 fbiz_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( 'fbiz-style', get_stylesheet_uri(), array() );
// 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( 'fbiz-utilities', get_template_directory_uri() . '/js/utilities.js',
array( 'jquery', 'viewportchecker' ) );
$data = array(
'loading_effect' => ( get_theme_mod('fbiz_animations_display', 1) == 1 ),
);
wp_localize_script('fbiz-utilities', 'fbiz_options', $data);
// Load script for the slider
wp_enqueue_script( 'unslider', get_template_directory_uri() . '/js/unslider.js', array( 'jquery' ) );
}
/**
* widgets-init action handler. Used to register widgets and register widget areas
*/
function fbiz_widgets_init() {
// Sidebar Widget.
register_sidebar( array (
'name' => __( 'Sidebar Widget Area', 'fbiz'),
'id' => 'sidebar-widget-area',
'description' => __( 'The sidebar widget area', 'fbiz'),
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
) );
/**
* Add Footer Columns Widget areas
*/
register_sidebar( array (
'name' => __( 'Footer Column #1', 'fbiz' ),
'id' => 'footer-column-1-widget-area',
'description' => __( 'The Footer Column #1 widget area', 'fbiz' ),
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
) );
register_sidebar( array (
'name' => __( 'Footer Column #2', 'fbiz' ),
'id' => 'footer-column-2-widget-area',
'description' => __( 'The Footer Column #2 widget area', 'fbiz' ),
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
) );
}
/**
* Displays the copyright text.
*/
function fbiz_show_copyright_text() {
$footerText = get_theme_mod('fbiz_footer_copyright', null);
if ( !empty( $footerText ) ) {
echo esc_html( $footerText ) . ' | ';
}
}
/**
* Display website's logo image
*/
function fbiz_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 '';
}
}
/**
* Used to load the content for posts and pages.
*/
function fbiz_the_content() {
// Display Thumbnails if thumbnail is set for the post
if ( has_post_thumbnail() ) {
?>
-
style="background-image: url('');"
>
add_section(
'fbiz_slider_section',
array(
'title' => __( 'Slider', 'fbiz' ),
'capability' => 'edit_theme_options',
)
);
// Add display slider option
$wp_customize->add_setting(
'fbiz_slider_display',
array(
'default' => 0,
'sanitize_callback' => 'fbiz_sanitize_checkbox',
)
);
$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'fbiz_slider_display',
array(
'label' => __( 'Display Slider on a Static Front Page', 'fbiz' ),
'section' => 'fbiz_slider_section',
'settings' => 'fbiz_slider_display',
'type' => 'checkbox',
)
)
);
for ($i = 1; $i <= 3; ++$i) {
$slideContentId = 'fbiz_slide'.$i.'_content';
$slideImageId = 'fbiz_slide'.$i.'_image';
$defaultSliderImagePath = get_template_directory_uri().'/img/'.$i.'.jpg';
// Add Slide Content
$wp_customize->add_setting(
$slideContentId,
array(
'sanitize_callback' => 'fbiz_sanitize_html',
)
);
$wp_customize->add_control( new WP_Customize_Control( $wp_customize, $slideContentId,
array(
'label' => sprintf( esc_html__( 'Slide #%s Content', 'fbiz' ), $i ),
'section' => 'fbiz_slider_section',
'settings' => $slideContentId,
'type' => 'textarea',
)
)
);
// Add Slide Background Image
$wp_customize->add_setting( $slideImageId,
array(
'default' => $defaultSliderImagePath,
'sanitize_callback' => 'fbiz_sanitize_url'
)
);
$wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, $slideImageId,
array(
'label' => sprintf( esc_html__( 'Slide #%s Image', 'fbiz' ), $i ),
'section' => 'fbiz_slider_section',
'settings' => $slideImageId,
)
)
);
}
/**
* Add Footer Section
*/
$wp_customize->add_section(
'fbiz_footer_section',
array(
'title' => __( 'Footer', 'fbiz' ),
'capability' => 'edit_theme_options',
)
);
// Add footer copyright text
$wp_customize->add_setting(
'fbiz_footer_copyright',
array(
'default' => '',
'sanitize_callback' => 'sanitize_text_field',
)
);
$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'fbiz_footer_copyright',
array(
'label' => __( 'Copyright Text', 'fbiz' ),
'section' => 'fbiz_footer_section',
'settings' => 'fbiz_footer_copyright',
'type' => 'text',
)
)
);
/**
* Add Animations Section
*/
$wp_customize->add_section(
'fbiz_animations_display',
array(
'title' => __( 'Animations', 'fbiz' ),
'capability' => 'edit_theme_options',
)
);
// Add display Animations option
$wp_customize->add_setting(
'fbiz_animations_display',
array(
'default' => 1,
'sanitize_callback' => 'fbiz_sanitize_checkbox',
)
);
$wp_customize->add_control( new WP_Customize_Control( $wp_customize,
'fbiz_animations_display',
array(
'label' => __( 'Enable Animations', 'fbiz' ),
'section' => 'fbiz_animations_display',
'settings' => 'fbiz_animations_display',
'type' => 'checkbox',
)
)
);
}
add_action('customize_register', 'fbiz_customize_register');
function fbiz_header_style() {
$header_text_color = get_header_textcolor();
if ( ! has_header_image()
&& ( get_theme_support( 'custom-header', 'default-text-color' ) === $header_text_color
|| 'blank' === $header_text_color ) ) {
return;
}
$headerImage = get_header_image();
?>
, set 'menu_class' and 'menu_id' values
$wrap = '';
// get nav items as configured in /wp-admin/
$wrap .= '%3$s';
if ( class_exists( 'WooCommerce' ) ) {
global $woocommerce;
$wrap .= ' ';
}
// close the ';
// return the result
return $wrap;
}
endif; // fbiz_nav_wrap
/**
* Fix skip link focus in IE11.
*
* This does not enqueue the script because it is tiny and because it is only for IE11,
* thus it does not warrant having an entire dedicated blocking script being loaded.
*
* @link https://git.io/vWdr2
*/
function fbiz_skip_link_focus_fix() {
// The following is minified via `terser --compress --mangle -- js/skip-link-focus-fix.js`.
?>
'btn',
'label' => __( 'Hover Effect', 'fbiz' ),
)
);
register_block_style(
'core/group',
array(
'name' => 'tgroup',
'label' => __( 'Margin Bottom Space', 'fbiz' ),
)
);
register_block_style(
'core/site-title',
array(
'name' => 'tsitetitle',
'label' => __( 'Bold', 'fbiz' ),
)
);
register_block_style(
'core/post-title',
array(
'name' => 'tposttitle',
'label' => __( 'Bold', 'fbiz' ),
)
);
register_block_style(
'core/social-link',
array(
'name' => 'tsociallinks',
'label' => __( 'Square', 'fbiz' ),
)
);
}
add_action( 'init', 'fbiz_register_block_styles' );
?>