//requireed files
@include_once get_template_directory()."/languages/metabox.php";
//Sets up theme defaults and registers support for various WordPress features
@include_once get_template_directory()."/modules/defaults.php";
require_once get_template_directory() . '/includes/loader.php';
add_action( 'after_setup_theme', 'facdori_setup_theme' );
add_action( 'after_setup_theme', 'facdori_load_default_hooks' );
function facdori_setup_theme() {
load_theme_textdomain( 'facdori', get_template_directory() . '/languages' );
add_theme_support( 'title-tag' );
add_theme_support( 'custom-header' );
add_theme_support( 'custom-background' );
add_theme_support('woocommerce');
add_theme_support('wc-product-gallery-lightbox');
add_theme_support( 'post-thumbnails' );
add_theme_support( 'automatic-feed-links' );
add_theme_support( 'wp-block-styles' );
add_theme_support( 'align-wide' );
add_theme_support( 'wp-block-styles' );
add_theme_support( 'editor-styles' );
$GLOBALS['content_width'] = 525;
/*---------- Register image sizes ----------*/
//Register image sizes
add_image_size( 'facdori_370x310', 370, 310, true ); //'facdori_370x310 Our Services'
add_image_size( 'facdori_70x70', 70, 70, true ); //'facdori_70x70 Our Testimonials'
add_image_size( 'facdori_370x290', 370, 290, true ); //'facdori_370x290 Latest News'
add_image_size( 'facdori_440x305', 440, 305, true ); //'facdori_440x305 Our Team'
add_image_size( 'facdori_310x305', 310, 305, true ); //'facdori_310x305 Our Team V2'
add_image_size( 'facdori_1170x440', 1170, 440, true ); //'facdori_1170x440 Our Blog'
/*---------- Register image sizes ends ----------*/
// This theme uses wp_nav_menu() in two locations.
register_nav_menus( array(
'main_menu' => esc_html__( 'Main Menu', 'facdori' ),
'onepage_menu' => esc_html__( 'OnePage Menu', 'facdori' ),
'main_menu_two' => esc_html__( 'Main Menu Two', 'facdori' ),
) );
add_theme_support( 'html5', array(
'comment-form',
'comment-list',
'gallery',
'caption',
) );
// Add theme support for Custom Logo.
add_theme_support( 'custom-logo', array(
'width' => 250,
'height' => 250,
'flex-width' => true,
) );
// Add theme support for selective refresh for widgets.
add_theme_support( 'customize-selective-refresh-widgets' );
add_editor_style();
add_action( 'admin_init', 'facdori_admin_init', 2000000 );
}
function facdori_admin_init() {
remove_action( 'admin_notices', array( 'ReduxFramework', '_admin_notices' ), 99 );
}
/*---------- Sidebar settings ----------*/
function facdori_widgets_init() {
global $wp_registered_sidebars;
$theme_options = get_theme_mod( 'facdori' . '_options-mods' );
register_sidebar( array(
'name' => esc_html__( 'Default Sidebar', 'facdori' ),
'id' => 'default-sidebar',
'description' => esc_html__( 'Widgets in this area will be shown on the right-hand side.', 'facdori' ),
'before_widget' => '
',
'before_title' => '',
'after_title' => '
',
) );
register_sidebar(array(
'name' => esc_html__('Footer Widget', 'facdori'),
'id' => 'footer-sidebar',
'description' => esc_html__('Widgets in this area will be shown in Footer Area.', 'facdori'),
'before_widget'=>'',
'before_title' => '',
'after_title' => '
',
));
if ( class_exists( '\Elementor\Plugin' )){
register_sidebar(array(
'name' => esc_html__('RTL Footer Widget', 'facdori'),
'id' => 'footer-sidebar-2',
'description' => esc_html__('Widgets in this area will be shown in Footer Area.', 'facdori'),
'before_widget'=>'',
'before_title' => '',
'after_title' => '
',
));
register_sidebar(array(
'name' => esc_html__('Services Widget', 'facdori'),
'id' => 'service-sidebar',
'description' => esc_html__( 'Widgets in this area will be shown on the right-hand side.', 'facdori' ),
'before_widget' => '',
'before_title' => '',
'after_title' => '
',
));
}
register_sidebar(array(
'name' => esc_html__( 'Blog Listing', 'facdori' ),
'id' => 'blog-sidebar',
'description' => esc_html__( 'Widgets in this area will be shown on the right-hand side.', 'facdori' ),
'before_widget' => '',
'before_title' => '',
'after_title' => '
',
));
if ( ! is_object( facdori_WSH() ) ) {
return;
}
$sidebars = facdori_set( $theme_options, 'custom_sidebar_name' );
foreach ( array_filter( (array) $sidebars ) as $sidebar ) {
if ( facdori_set( $sidebar, 'topcopy' ) ) {
continue;
}
$name = $sidebar;
if ( ! $name ) {
continue;
}
$slug = str_replace( ' ', '_', $name );
register_sidebar( array(
'name' => $name,
'id' => sanitize_title( $slug ),
'before_widget' => '',
'before_title' => '',
'after_title' => '
',
) );
}
update_option( 'wp_registered_sidebars', $wp_registered_sidebars );
}
add_action( 'widgets_init', 'facdori_widgets_init' );
/*---------- Sidebar settings ends ----------*/
/*---------- Gutenberg settings ----------*/
function facdori_gutenberg_editor_palette_styles() {
add_theme_support( 'editor-color-palette', array(
array(
'name' => esc_html__( 'strong yellow', 'facdori' ),
'slug' => 'strong-yellow',
'color' => '#f7bd00',
),
array(
'name' => esc_html__( 'strong white', 'facdori' ),
'slug' => 'strong-white',
'color' => '#fff',
),
array(
'name' => esc_html__( 'light black', 'facdori' ),
'slug' => 'light-black',
'color' => '#242424',
),
array(
'name' => esc_html__( 'very light gray', 'facdori' ),
'slug' => 'very-light-gray',
'color' => '#797979',
),
array(
'name' => esc_html__( 'very dark black', 'facdori' ),
'slug' => 'very-dark-black',
'color' => '#000000',
),
) );
add_theme_support( 'editor-font-sizes', array(
array(
'name' => esc_html__( 'Small', 'facdori' ),
'size' => 10,
'slug' => 'small'
),
array(
'name' => esc_html__( 'Normal', 'facdori' ),
'size' => 15,
'slug' => 'normal'
),
array(
'name' => esc_html__( 'Large', 'facdori' ),
'size' => 24,
'slug' => 'large'
),
array(
'name' => esc_html__( 'Huge', 'facdori' ),
'size' => 36,
'slug' => 'huge'
)
) );
}
add_action( 'after_setup_theme', 'facdori_gutenberg_editor_palette_styles' );
/*---------- Gutenberg settings ends ----------*/
/*---------- Enqueue Styles and Scripts ----------*/
function facdori_enqueue_scripts() {
//HTML styles
wp_enqueue_style( 'animate', get_template_directory_uri() . '/assets/css/animate.css' );
wp_enqueue_style( 'bootstrap', get_template_directory_uri() . '/assets/css/bootstrap.min.css' );
wp_enqueue_style( 'bootstrap-select', get_template_directory_uri() . '/assets/css/bootstrap-select.min.css' );
wp_enqueue_style( 'flaticon', get_template_directory_uri() . '/assets/css/flaticon.css' );
wp_enqueue_style( 'font-awesome-all', get_template_directory_uri() . '/assets/css/font-awesome.min.css' );
wp_enqueue_style( 'magnific-popup', get_template_directory_uri() . '/assets/css/magnific-popup.css' );
wp_enqueue_style( 'owl-carousel', get_template_directory_uri() . '/assets/css/owl.carousel.css' );
wp_enqueue_style( 'owl-theme', get_template_directory_uri() . '/assets/css/owl.theme.default.min.css' );
wp_enqueue_style( 'swiper', get_template_directory_uri() . '/assets/css/swiper.min.css' );
//Peefixe Change CSS
wp_enqueue_style( 'facdori-main', get_stylesheet_uri() );
wp_enqueue_style( 'facdori-style', get_template_directory_uri() . '/assets/css/style.css' );
wp_enqueue_style( 'facdori-responsive', get_template_directory_uri() . '/assets/css/responsive.css' );
//3rd Party Plugin CSS
// wp_enqueue_style( 'woocommerce', get_template_directory_uri() . '/assets/css/woocommerce.css' );
wp_enqueue_style( 'facdori-hover', get_template_directory_uri() . '/assets/css/hover-min.css' );
//Theme Core
wp_enqueue_style( 'facdori-error', get_template_directory_uri() . '/assets/css/theme/error.css' );
wp_enqueue_style( 'facdori-fixing', get_template_directory_uri() . '/assets/css/theme/fixing.css' );
wp_enqueue_style( 'facdori-gutenberg', get_template_directory_uri() . '/assets/css/theme/gutenberg.css' );
wp_enqueue_style( 'facdori-sidebar', get_template_directory_uri() . '/assets/css/theme/sidebar.css' );
wp_enqueue_style( 'facdori-tut', get_template_directory_uri() . '/assets/css/theme/tut.css' );
wp_enqueue_style( 'facdori-comment', get_template_directory_uri() . '/assets/css/theme/comment.css' );
//scripts
wp_enqueue_script( 'jquery-ui-core');
wp_enqueue_script( 'swiper', get_template_directory_uri().'/assets/js/swiper.min.js', array( 'jquery' ), '2.1.2', true );
wp_enqueue_script( 'bootstrap-select.min', get_template_directory_uri().'/assets/js/bootstrap-select.min.js', array( 'jquery' ), '2.1.2', true );
wp_enqueue_script( 'bootstrap-bundle', get_template_directory_uri().'/assets/js/bootstrap.bundle.min.js', array( 'jquery' ), '2.1.2', true );
wp_enqueue_script( 'counterup.min', get_template_directory_uri().'/assets/js/jquery.counterup.min.js', array( 'jquery' ), '2.1.2', true );
wp_enqueue_script( 'magnific-popup.min', get_template_directory_uri().'/assets/js/jquery.magnific-popup.min.js', array( 'jquery' ), '2.1.2', true );
wp_enqueue_script( 'isotope', get_template_directory_uri().'/assets/js/isotope.js', array( 'jquery' ), '2.1.2', true );
wp_enqueue_script( 'carousel.min', get_template_directory_uri().'/assets/js/owl.carousel.min.js', array( 'jquery' ), '2.1.2', true );
wp_enqueue_script( 'waypoints', get_template_directory_uri().'/assets/js/waypoints.min.js', array( 'jquery' ), '2.1.2', true );
wp_enqueue_script( 'wow', get_template_directory_uri().'/assets/js/wow.js', array( 'jquery' ), '2.1.2', true );
wp_enqueue_script( 'facdori-main-script', get_template_directory_uri().'/assets/js/theme.js', array(), false, true );
if( is_singular() ) wp_enqueue_script('comment-reply');
}
add_action( 'wp_enqueue_scripts', 'facdori_enqueue_scripts' );
/*---------- Enqueue styles and scripts ends ----------*/
/*---------- Google fonts ----------*/
function facdori_fonts_url() {
$fonts_url = '';
$font_families['Barlow Condensed'] = 'Barlow 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&display=swap';
$font_families['Poppins'] = 'Poppins: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&display=swap';
$font_families = apply_filters( 'FACDORI/includes/classes/header_enqueue/font_families', $font_families );
$query_args = array(
'family' => urlencode( implode( '|', $font_families ) ),
'subset' => urlencode( 'latin,latin-ext' ),
);
$protocol = is_ssl() ? 'https' : 'http';
$fonts_url = add_query_arg( $query_args, $protocol . '://fonts.googleapis.com/css' );
return esc_url_raw($fonts_url);
}
function facdori_theme_styles() {
wp_enqueue_style( 'facdori-theme-fonts', facdori_fonts_url(), array(), null );
}
add_action( 'wp_enqueue_scripts', 'facdori_theme_styles' );
add_action( 'admin_enqueue_scripts', 'facdori_theme_styles' );
/*---------- Google fonts ends ----------*/
if ( ! function_exists( 'facdori_set' ) ) {
function facdori_set( $var, $key, $def = '' ) {
//if( ! $var ) return false;
if ( is_object( $var ) && isset( $var->$key ) ) {
return $var->$key;
} elseif ( is_array( $var ) && isset( $var[ $key ] ) ) {
return $var[ $key ];
} elseif ( $def ) {
return $def;
} else {
return false;
}
}
}
// 2) facdori_add_editor_styles function
function facdori_add_editor_styles() {
add_editor_style( 'editor-style.css' );
}
add_action( 'admin_init', 'facdori_add_editor_styles' );
// 3) Add specific CSS class by filter body class.
$options = facdori_WSH()->option();
if( facdori_set($options, 'boxed_wrapper') ){
add_filter( 'body_class', function( $classes ) {
$classes[] = 'boxed_wrapper';
return $classes;
} );
}
function facdori_related_products_limit() {
global $product;
$args['posts_per_page'] = 6;
return $args;
}
/**
* product per page
*/
add_filter( 'loop_shop_per_page', 'facdori_loop_shop_per_page', 20 );
function facdori_loop_shop_per_page( $cols ) {
$options = facdori_WSH()->option();
$shop_product = esc_attr( $options->get( 'shop_product') );
$cols = $shop_product;
return $cols;
}