/**
* freddo functions and definitions
*
* @link https://developer.wordpress.org/themes/basics/theme-functions/
*
* @package freddo
*/
if ( ! function_exists( 'freddo_setup' ) ) :
/**
* Sets up theme defaults and registers support for various WordPress features.
*
* Note that this function is hooked into the after_setup_theme hook, which
* runs before the init hook. The init hook is too late for some features, such
* as indicating support for post thumbnails.
*/
function freddo_setup() {
/*
* Define the number of items in some onepage sections (real value plus 1)
*/
define( 'FREDDO_VALUE_FOR_SLIDER', '4' );
define( 'FREDDO_VALUE_FOR_FEATURES', '5' );
define( 'FREDDO_VALUE_FOR_SKILLS', '11' );
define( 'FREDDO_VALUE_FOR_SERVICES', '7' );
define( 'FREDDO_VALUE_FOR_TEAM', '7' );
/*
* Make theme available for translation.
* Translations can be filed in the /languages/ directory.
* If you're building a theme based on freddo, use a find and replace
* to change 'freddo' to the name of your theme in all the template files.
*/
load_theme_textdomain( 'freddo', get_template_directory() . '/languages' );
// Add default posts and comments RSS feed links to head.
add_theme_support( 'automatic-feed-links' );
/*
* Let WordPress manage the document title.
* By adding theme support, we declare that this theme does not use a
* hard-coded
tag in the document head, and expect WordPress to
* provide it for us.
*/
add_theme_support( 'title-tag' );
/*
* Enable support for Post Thumbnails on posts and pages.
*
* @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
*/
add_theme_support( 'post-thumbnails' );
add_image_size( 'freddo-the-post-small' , 980, 600, true);
add_image_size( 'freddo-the-post-big' , 1920, 99999);
add_image_size( 'freddo-little-post' , 370, 220, true);
// This theme uses wp_nav_menu() in one location.
register_nav_menus( array(
'menu-1' => esc_html__( 'Primary', 'freddo' ),
) );
/*
* Switch default core markup for search form, comment form, and comments
* to output valid HTML5.
*/
add_theme_support( 'html5', array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
) );
// Add theme support for selective refresh for widgets.
add_theme_support( 'customize-selective-refresh-widgets' );
/**
* Add support for core custom logo.
*
* @link https://codex.wordpress.org/Theme_Logo
*/
add_theme_support( 'custom-logo', array(
'height' => 60,
'width' => 250,
'flex-width' => true,
'flex-height' => true,
'header-text' => array( 'site-title', 'site-description' ),
) );
/*
* Starter Content Support
*/
add_theme_support( 'starter-content', array(
'posts' => array(
'home' => array(
'template' => 'template-onepage.php',
),
'blog',
),
'options' => array(
'show_on_front' => 'page',
'page_on_front' => '{{home}}',
'page_for_posts' => '{{blog}}',
'freddo_theme_options[_onepage_section_slider]' => '1',
'freddo_theme_options[_onepage_image_1_slider]' => get_template_directory_uri().'/images/example/freddo_slider_example_1.jpg',
'freddo_theme_options[_onepage_image_2_slider]' => get_template_directory_uri().'/images/example/freddo_slider_example_2.jpg',
'freddo_theme_options[_onepage_text_1_slider]' => 'Welcome to Freddo Theme',
'freddo_theme_options[_onepage_subtext_1_slider]' => 'Use the customizer to customize the onepage sections',
'freddo_theme_options[_onepage_text_2_slider]' => 'Read the documentation',
'freddo_theme_options[_onepage_subtext_2_slider]' => 'You can find the documentation in "Appearance-> About Freddo-> Documentation"',
'freddo_theme_options[_onepage_section_skills]' => '1',
'freddo_theme_options[_onepage_skillname_1_skills]' => 'Design',
'freddo_theme_options[_onepage_skillvalue_1_skills]' => '84',
'freddo_theme_options[_onepage_skillname_2_skills]' => 'WordPress',
'freddo_theme_options[_onepage_skillvalue_2_skills]' => '93',
'freddo_theme_options[_onepage_skillname_3_skills]' => 'SEO',
'freddo_theme_options[_onepage_skillvalue_3_skills]' => '76',
'freddo_theme_options[_onepage_skillname_4_skills]' => 'Support',
'freddo_theme_options[_onepage_skillvalue_4_skills]' => '90',
'freddo_theme_options[_onepage_skillname_5_skills]' => 'Customization',
'freddo_theme_options[_onepage_skillvalue_5_skills]' => '89',
'freddo_theme_options[_onepage_skillname_6_skills]' => 'Updates',
'freddo_theme_options[_onepage_skillvalue_6_skills]' => '87',
'freddo_theme_options[_onepage_section_cta]' => '1',
'freddo_theme_options[_onepage_phrase_cta]' => 'Do you want more?',
'freddo_theme_options[_onepage_desc_cta]' => 'Take a look at Freddo PRO version...',
'freddo_theme_options[_onepage_textbutton_cta]' => 'PRO Version',
'freddo_theme_options[_onepage_urlbutton_cta]' => 'https://crestaproject.com/demo/freddo-pro/',
),
'nav_menus' => array(
'primary' => array(
'name' => __( 'Primary', 'freddo' ),
'items' => array(
'link_home',
'page_blog',
),
),
),
) );
}
endif;
add_action( 'after_setup_theme', 'freddo_setup' );
/**
* Set the content width in pixels, based on the theme's design and stylesheet.
*
* Priority 0 to make it available to lower priority callbacks.
*
* @global int $content_width
*/
function freddo_content_width() {
$GLOBALS['content_width'] = apply_filters( 'freddo_content_width', 640 );
}
add_action( 'after_setup_theme', 'freddo_content_width', 0 );
/**
* Register widget area.
*
* @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
*/
function freddo_widgets_init() {
register_sidebar( array(
'name' => esc_html__( 'Classic Sidebar', 'freddo' ),
'id' => 'sidebar-1',
'description' => esc_html__( 'Add widgets here.', 'freddo' ),
'before_widget' => '',
'before_title' => '',
'after_title' => '
',
) );
register_sidebar( array(
'name' => esc_html__( 'Push Sidebar', 'freddo' ),
'id' => 'sidebar-push',
'description' => esc_html__( 'Add widgets here.', 'freddo' ),
'before_widget' => '',
'before_title' => '',
'after_title' => '
',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Left', 'freddo' ),
'id' => 'footer-1',
'description' => esc_html__( 'Add widgets here.', 'freddo' ),
'before_widget' => '',
'before_title' => '',
'after_title' => '
',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Center', 'freddo' ),
'id' => 'footer-2',
'description' => esc_html__( 'Add widgets here.', 'freddo' ),
'before_widget' => '',
'before_title' => '',
'after_title' => '
',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Right', 'freddo' ),
'id' => 'footer-3',
'description' => esc_html__( 'Add widgets here.', 'freddo' ),
'before_widget' => '',
'before_title' => '',
'after_title' => '
',
) );
}
add_action( 'widgets_init', 'freddo_widgets_init' );
/**
* Enqueue scripts and styles.
*/
function freddo_scripts() {
wp_enqueue_style( 'freddo-style', get_stylesheet_uri() );
wp_enqueue_style( 'font-awesome', get_template_directory_uri() .'/css/font-awesome.min.css');
wp_enqueue_style( 'freddo-ie', get_template_directory_uri() . '/css/ie.css', array(), '1.0', null );
wp_style_add_data( 'freddo-ie', 'conditional', 'IE' );
$query_args = array(
'family' => 'Poppins:400,700%7CMontserrat:400,700'
);
wp_enqueue_style( 'freddo-googlefonts', add_query_arg( $query_args, "//fonts.googleapis.com/css" ), array(), null );
wp_enqueue_script( 'freddo-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20151215', true );
wp_enqueue_script( 'freddo-custom', get_template_directory_uri() . '/js/jquery.freddo.js', array('jquery'), '1.0', true );
if ( is_active_sidebar( 'sidebar-push' ) ) {
wp_enqueue_script( 'freddo-nanoScroll', get_template_directory_uri() . '/js/jquery.nanoscroller.min.js', array('jquery'), '1.0', true );
}
if ( freddo_options('_smooth_scroll', '1') == 1) {
wp_enqueue_script( 'freddo-smooth-scroll', get_template_directory_uri() . '/js/SmoothScroll.min.js', array('jquery'), '1.0', true );
}
if (is_page_template('template-onepage.php') && freddo_options('_onepage_section_slider', '') == 1) {
wp_enqueue_script( 'freddo-flex-slider', get_template_directory_uri() . '/js/jquery.flexslider-min.js', array(), '20151215', true );
}
if (is_page_template('template-onepage.php')) {
wp_enqueue_script( 'freddo-waypoints', get_template_directory_uri() . '/js/jquery.waypoints.min.js', array('jquery'), '1.0', true );
}
wp_enqueue_script( 'freddo-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20151215', true );
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
/* Dequeue default WooCommerce Layout */
wp_dequeue_style ( 'woocommerce-layout' );
wp_dequeue_style ( 'woocommerce-smallscreen' );
wp_dequeue_style ( 'woocommerce-general' );
}
add_action( 'wp_enqueue_scripts', 'freddo_scripts' );
/**
* WooCommerce Support
*/
if ( ! function_exists( 'freddo_woocommerce_support' ) ) :
function freddo_woocommerce_support() {
add_theme_support( 'woocommerce' );
add_theme_support( 'wc-product-gallery-lightbox' );
}
add_action( 'after_setup_theme', 'freddo_woocommerce_support' );
endif; // freddo_woocommerce_support
/**
* WooCommerce: Chenge default max number of related products
*/
if ( function_exists( 'is_woocommerce' ) ) :
if ( ! function_exists( 'freddo_related_products_args' ) ) :
add_filter( 'woocommerce_output_related_products_args', 'freddo_related_products_args' );
function freddo_related_products_args( $args ) {
$args['posts_per_page'] = 3;
return $args;
}
endif;
if ( ! function_exists( 'freddo_wc_get_product_cat_class' ) ) :
function freddo_wc_get_product_cat_class($classes, $class, $category) {
$classes[] = 'three-columns';
return array_unique( array_filter( $classes ) );
}
add_filter( 'product_cat_class' , 'freddo_wc_get_product_cat_class', 10, 3 );
endif;
endif;
/**
* Custom template tags for this theme.
*/
require get_template_directory() . '/inc/template-tags.php';
/**
* Functions which enhance the theme by hooking into WordPress.
*/
require get_template_directory() . '/inc/template-functions.php';
/**
* Customizer additions.
*/
require get_template_directory() . '/inc/customizer.php';
/**
* Load Jetpack compatibility file.
*/
if ( defined( 'JETPACK__VERSION' ) ) {
require get_template_directory() . '/inc/jetpack.php';
}
/**
* Load PRO Button in the customizer
*/
require_once( trailingslashit( get_template_directory() ) . 'inc/pro-button/class-customize.php' );
/* Calling in the admin area for the Welcome Page */
if ( is_admin() ) {
require get_template_directory() . '/inc/admin/freddo-admin-page.php';
}
//ETOMIDETKA