/home/glownati/www/wp/wp-content/themes/transport-solutions/functions.php
<?php

/*-----------------------------------------------------------------------------------*/
/* Enqueue script and styles */
/*-----------------------------------------------------------------------------------*/

if (!function_exists('transport_solutions_enqueue_scripts')) {

	function transport_solutions_enqueue_scripts() {

		require_once get_theme_file_path( 'core/includes/wptt-webfont-loader.php' );

		$googleFontsArgs = array(
			'family' =>	str_replace('|', '%7C','Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i'),
			'subset' =>	'latin,latin-ext'
		);

		$googleFontsArgs = array(
			'family' =>	str_replace('|', '%7C','Open Sans:0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800'),
			'subset' =>	'latin,latin-ext'
		);

		wp_enqueue_style('google-fonts', add_query_arg ( $googleFontsArgs, "https://fonts.googleapis.com/css" ), array(), '1.0.0' );

		wp_enqueue_style(
			'bootstrap-css',
			get_template_directory_uri() . '/css/bootstrap.css',
			array(),'4.5.0'
		);

		wp_enqueue_style(
			'fontawesome-css',
			get_template_directory_uri() . '/css/fontawesome-all.css',
			array(),'4.5.0'
		);

		wp_enqueue_style(
			'owl.carousel-css',
			get_template_directory_uri() . '/css/owl.carousel.css',
			array(),'2.3.4'
		);

		wp_enqueue_style('transport-solutions-style', get_stylesheet_uri(), array() );

		wp_style_add_data('transport-solutions-style', 'rtl', 'replace');

		wp_enqueue_style(
			'transport-solutions-media-css',
			get_template_directory_uri() . '/css/media.css',
			array(),'2.3.4'
		);

		wp_enqueue_style(
			'transport-solutions-woocommerce-css',
			get_template_directory_uri() . '/css/woocommerce.css',
			array(),'2.3.4'
		);

		wp_enqueue_style('dashicons');

		wp_enqueue_script(
			'transport-solutions-navigation',
			get_template_directory_uri() . '/js/navigation.js',
			FALSE,
			'1.0',
			TRUE
		);

		wp_enqueue_script(
			'owl.carousel-js',
			get_template_directory_uri() . '/js/owl.carousel.js',
			array('jquery'),
			'2.3.4',
			TRUE
		);

		wp_enqueue_script(
			'transport-solutions-script',
			get_template_directory_uri() . '/js/script.js',
			array('jquery'),
			'1.0',
			TRUE
		);

		if ( get_theme_mod( 'transport_solutions_animation_enabled', true ) ) {
	        wp_enqueue_script(
	            'transport-solutions-wow-script',
	            get_template_directory_uri() . '/js/wow.js',
	            array( 'jquery' ),
	            '1.0',
	            true
	        );

	        wp_enqueue_style(
	            'transport-solutions-animate',
	            get_template_directory_uri() . '/css/animate.css',
	            array(),
	            '4.1.1'
	        );
	    }


		if ( is_singular() ) wp_enqueue_script( 'comment-reply' );

		$transport_solutions_css = '';

		if ( get_header_image() ) :

			$transport_solutions_css .=  '
				header.header {
					background-image: url('.esc_url(get_header_image()).');
					-webkit-background-size: cover !important;
					-moz-background-size: cover !important;
					-o-background-size: cover !important;
					background-size: cover !important;
				}';

		endif;

		wp_add_inline_style( 'transport-solutions-style', $transport_solutions_css );

		// Theme Customize CSS.
		require get_template_directory(). '/core/includes/inline.php';
		wp_add_inline_style( 'transport-solutions-style',$transport_solutions_custom_css );

	}

	add_action( 'wp_enqueue_scripts', 'transport_solutions_enqueue_scripts' );

}

/**------------------------------------------------------------------------------------------
 * Enqueue theme logo style.
 */
function transport_solutions_logo_resizer() {

    $transport_solutions_theme_logo_size_css = '';
    $transport_solutions_logo_resizer = get_theme_mod('transport_solutions_logo_resizer');

	$transport_solutions_theme_logo_size_css = '
		.custom-logo{
			height: '.esc_attr($transport_solutions_logo_resizer).'px !important;
			width: '.esc_attr($transport_solutions_logo_resizer).'px !important;
		}
	';
    wp_add_inline_style( 'transport-solutions-style',$transport_solutions_theme_logo_size_css );

}
add_action( 'wp_enqueue_scripts', 'transport_solutions_logo_resizer' );

/*-----------------------------------------------------------------------------------*/
/* Enqueue Global color style */
/*-----------------------------------------------------------------------------------*/
function transport_solutions_global_color() {

    $transport_solutions_theme_color_css = '';
    $transport_solutions_copyright_bg = get_theme_mod('transport_solutions_copyright_bg');

	$transport_solutions_theme_color_css = '
		.copyright {
			background: '.esc_attr($transport_solutions_copyright_bg).';
		}
	}
	';
    wp_add_inline_style( 'transport-solutions-style',$transport_solutions_theme_color_css );
    wp_add_inline_style( 'transport-solutions-woocommerce-css',$transport_solutions_theme_color_css );

}
add_action( 'wp_enqueue_scripts', 'transport_solutions_global_color' );

/*-----------------------------------------------------------------------------------*/
/* Setup theme */
/*-----------------------------------------------------------------------------------*/

if (!function_exists('transport_solutions_after_setup_theme')) {

	function transport_solutions_after_setup_theme() {

		load_theme_textdomain( 'transport-solutions', get_stylesheet_directory() . '/languages' );
		if ( ! isset( $transport_solutions_content_width ) ) $transport_solutions_content_width = 900;

		register_nav_menus( array(
			'main-menu' => esc_html__( 'Main menu', 'transport-solutions' ),
		));

		add_theme_support( 'responsive-embeds' );
		add_theme_support( 'align-wide' );
		add_theme_support('title-tag');
		add_theme_support('automatic-feed-links');
		add_theme_support('post-thumbnails');
		add_theme_support( 'wp-block-styles' );
		add_theme_support( 'woocommerce' );
		add_theme_support( 'custom-background', array(
		  'default-color' => 'f3f3f3'
		));

		add_theme_support( 'custom-logo', array(
			'height'      => 70,
			'width'       => 70,
		) );

		add_theme_support( 'custom-header', array(
			'width' => 1920,
			'height' => 100,
			'flex-width' => true,
			'flex-height' => true,
		));
		add_theme_support( 'html5', array(
			'search-form',
			'comment-form',
			'comment-list',
			'gallery',
			'caption',
		) );

		add_theme_support( 'post-formats', array('image','video','gallery','audio',) );

		add_editor_style( array( '/css/editor-style.css' ) );
	}

	add_action( 'after_setup_theme', 'transport_solutions_after_setup_theme', 999 );

}

function transport_solutions_template_setup() {

require get_template_directory() .'/core/includes/customizer-notice/transport-solutions-customizer-notify.php';
require get_template_directory() .'/core/includes/theme-breadcrumb.php';
require get_template_directory() .'/core/includes/main.php';
require get_template_directory() . '/core/includes/importer/config.php';
require get_template_directory() . '/core/includes/customizer.php';
load_template( trailingslashit( get_template_directory() ) . '/core/includes/class-upgrade-pro.php' );

}
add_action('after_setup_theme', 'transport_solutions_template_setup');

/*-----------------------------------------------------------------------------------*/
/* Get post comments */
/*-----------------------------------------------------------------------------------*/

if (!function_exists('transport_solutions_comment')) :
    /**
     * Template for comments and pingbacks.
     *
     * Used as a callback by wp_list_comments() for displaying the comments.
     */
    function transport_solutions_comment($comment, $transport_solutions_args, $depth){

        if ('pingback' == $comment->comment_type || 'trackback' == $comment->comment_type) : ?>

            <li id="comment-<?php comment_ID(); ?>" <?php comment_class('media'); ?>>
            <div class="comment-body">
                <?php esc_html_e('Pingback:', 'transport-solutions');
                comment_author_link(); ?><?php edit_comment_link(__('Edit', 'transport-solutions'), '<span class="edit-link">', '</span>'); ?>
            </div>

        <?php else : ?>

        <li id="comment-<?php comment_ID(); ?>" <?php comment_class(empty($transport_solutions_args['has_children']) ? '' : 'parent'); ?>>
            <article id="div-comment-<?php comment_ID(); ?>" class="comment-body media mb-4">
                <a class="pull-left" href="#">
                    <?php if (0 != $transport_solutions_args['avatar_size']) echo get_avatar($comment, $transport_solutions_args['avatar_size']); ?>
                </a>
                <div class="media-body">
                    <div class="media-body-wrap card">
                        <div class="card-header">
                            <h5 class="mt-0"><?php /* translators: %s: author */ printf('<cite class="fn">%s</cite>', get_comment_author_link() ); ?></h5>
                            <div class="comment-meta">
							    <a href="<?php echo esc_url( get_comment_link( $comment->comment_ID ) ); ?>">
							        <time datetime="<?php comment_time( 'c' ); ?>">
							            <?php printf(
							                esc_html__( '%1$s at %2$s', 'transport-solutions' ),
							                esc_html( get_comment_date() ), esc_html( get_comment_time() ) ); ?>
							        </time>
							    </a>
							    <?php
							    edit_comment_link(esc_html__( 'Edit', 'transport-solutions' ),'<span class="edit-link">','</span>');?>
							</div>
                        </div>

                        <?php if ('0' == $comment->comment_approved) : ?>
                            <p class="comment-awaiting-moderation"><?php esc_html_e('Your comment is awaiting moderation.', 'transport-solutions'); ?></p>
                        <?php endif; ?>

                        <div class="comment-content card-block">
                            <?php comment_text(); ?>
                        </div>

                        <?php comment_reply_link(
                            array_merge(
                                $transport_solutions_args, array(
                                    'add_below' => 'div-comment',
                                    'depth' => $depth,
                                    'max_depth' => $transport_solutions_args['max_depth'],
                                    'before' => '<footer class="reply comment-reply card-footer">',
                                    'after' => '</footer><!-- .reply -->'
                                )
                            )
                        ); ?>
                    </div>
                </div>
            </article>

            <?php
        endif;
    }
endif; // ends check for transport_solutions_comment()

if (!function_exists('transport_solutions_widgets_init')) {

	function transport_solutions_widgets_init() {

		register_sidebar(array(

			'name' => esc_html__('Sidebar','transport-solutions'),
			'id'   => 'transport-solutions-sidebar',
			'description'   => esc_html__('This sidebar will be shown next to the content.', 'transport-solutions'),
			'before_widget' => '<div id="%1$s" class="sidebar-widget %2$s">',
			'after_widget'  => '</div>',
			'before_title'  => '<h4 class="title">',
			'after_title'   => '</h4>'

		));

		register_sidebar(array(

			'name' => esc_html__('Sidebar 2','transport-solutions'),
			'id'   => 'transport-solutions-sidebar-2',
			'description'   => esc_html__('This sidebar will be shown next to the content.', 'transport-solutions'),
			'before_widget' => '<div id="%1$s" class="sidebar-widget %2$s">',
			'after_widget'  => '</div>',
			'before_title'  => '<h4 class="title">',
			'after_title'   => '</h4>'

		));

		register_sidebar(array(

			'name' => esc_html__('Sidebar 3','transport-solutions'),
			'id'   => 'transport-solutions-sidebar-3',
			'description'   => esc_html__('This sidebar will be shown next to the content.', 'transport-solutions'),
			'before_widget' => '<div id="%1$s" class="sidebar-widget %2$s">',
			'after_widget'  => '</div>',
			'before_title'  => '<h4 class="title">',
			'after_title'   => '</h4>'

		));

		register_sidebar(array(

			'name' => esc_html__('Footer sidebar','transport-solutions'),
			'id'   => 'transport-solutions-footer-sidebar',
			'description'   => esc_html__('This sidebar will be shown next at the bottom of your content.', 'transport-solutions'),
			'before_widget' => '<div id="%1$s" class="col-lg-3 col-md-3 %2$s">',
			'after_widget'  => '</div>',
			'before_title'  => '<h4 class="title">',
			'after_title'   => '</h4>'

		));

	}

	add_action( 'widgets_init', 'transport_solutions_widgets_init' );

}

function transport_solutions_get_categories_select() {
	$transport_solutions_teh_cats = get_categories();
	$results;
	$transport_solutions_count = count($transport_solutions_teh_cats);
	for ($i=0; $i < $transport_solutions_count; $i++) {
	if (isset($transport_solutions_teh_cats[$i]))
  		$results[$transport_solutions_teh_cats[$i]->slug] = $transport_solutions_teh_cats[$i]->name;
	else
  		$transport_solutions_count++;
	}
	return $results;
}

function transport_solutions_remove_sections( $wp_customize ) {
	$wp_customize->remove_control('display_header_text');
	$wp_customize->remove_setting('display_header_text');
}
add_action( 'customize_register', 'transport_solutions_remove_sections');

add_action('after_switch_theme', 'transport_solutions_setup_options');
function transport_solutions_setup_options () {
    update_option('dismissed-get_started', FALSE );
}

// Change number or products per row to 3
add_filter('loop_shop_columns', 'transport_solutions_loop_columns');
if (!function_exists('transport_solutions_loop_columns')) {
	function transport_solutions_loop_columns() {
		$transport_solutions_columns = get_theme_mod( 'transport_solutions_per_columns', 3 );
		return $transport_solutions_columns;
	}
}

//Change number of products that are displayed per page (shop page)
add_filter( 'loop_shop_per_page', 'transport_solutions_per_page', 20 );
function transport_solutions_per_page( $transport_solutions_cols ) {
  	$transport_solutions_cols = get_theme_mod( 'transport_solutions_product_per_page', 9 );
	return $transport_solutions_cols;
}

// Add filter to modify the number of related products
add_filter( 'woocommerce_output_related_products_args', 'transport_solutions_products_args' );
function transport_solutions_products_args( $args ) {
    $args['posts_per_page'] = get_theme_mod( 'custom_related_products_number', 6 );
    $args['columns'] = get_theme_mod( 'custom_related_products_number_per_row', 3 );
    return $args;
}

//add animation class
if ( class_exists( 'WooCommerce' ) ) { 
	add_filter('post_class', function($transport_solutions, $class, $product_id) {
	    if( is_shop() || is_product_category() ){
	        
	        $transport_solutions = array_merge(['wow','zoomIn'], $transport_solutions);
	    }
	    return $transport_solutions;
	},10,3);
}

function get_page_id_by_title($pagename){

    $args = array(
        'post_type' => 'page',
        'posts_per_page' => 1,
        'post_status' => 'publish',
        'title' => $pagename
    );
    $query = new WP_Query( $args );

    $page_id = '1';
    if (isset($query->post->ID)) {
        $page_id = $query->post->ID;
    }

    return $page_id;
}

add_action( 'customize_register', 'transport_solutions_remove_setting', 20 );
function transport_solutions_remove_setting( $wp_customize ) {
    // Check if the setting or control exists before removing
    if ( $wp_customize->get_setting( 'header_textcolor' ) ) {
        $wp_customize->remove_setting( 'header_textcolor' );
    }

    if ( $wp_customize->get_control( 'header_textcolor' ) ) {
        $wp_customize->remove_control( 'header_textcolor' );
    }
}

// edit link option
if (!function_exists('transport_solutions_edit_link')) :

    function transport_solutions_edit_link($view = 'default')
    {
        global $post;
            edit_post_link(
                sprintf(
                    wp_kses(
                    /* translators: %s: Name of current post. Only visible to screen readers */
                        __('Edit <span class="screen-reader-text">%s</span>', 'transport-solutions'),
                        array(
                            'span' => array(
                                'class' => array(),
                            ),
                        )
                    ),
                    get_the_title()
                ),
                '<span class="edit-link"><i class="fas fa-edit"></i>',
                '</span>'
            );

    }
endif;

add_filter( 'woocommerce_prevent_automatic_wizard_redirect', '__return_true' );