<?php
/**
 * Custom Functions.
 *
 * @package Travel Destination
 */

if( !function_exists( 'travel_destination_fonts_url' ) ) :

    //Google Fonts URL
    function travel_destination_fonts_url(){

        $font_families = array(
            'Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900', //   font-family: "Roboto", sans-serif;
            'Outfit:wght@100..900', //     font-family: "Outfit", sans-serif;
        );

        $fonts_url = add_query_arg( array(
            'family' => implode( '&family=', $font_families ),
            'display' => 'swap',
        ), 'https://fonts.googleapis.com/css2' );

        return esc_url_raw($fonts_url);

    }

endif;

if ( ! function_exists( 'travel_destination_sub_menu_toggle_button' ) ) :

    function travel_destination_sub_menu_toggle_button( $args, $item, $depth ) {

        // Add sub menu toggles to the main menu with toggles
        if ( $args->theme_location == 'travel-destination-primary-menu' && isset( $args->show_toggles ) ) {
            
            // Wrap the menu item link contents in a div, used for positioning
            $args->before = '<div class="submenu-wrapper">';
            $args->after  = '';

            // Add a toggle to items with children
            if ( in_array( 'menu-item-has-children', $item->classes ) ) {

                $toggle_target_string = '.menu-item.menu-item-' . $item->ID . ' > .sub-menu';

                // Add the sub menu toggle
                $args->after .= '<button type="button" class="theme-aria-button submenu-toggle" data-toggle-target="' . $toggle_target_string . '" data-toggle-type="slidetoggle" data-toggle-duration="250" aria-expanded="false"><span class="btn__content" tabindex="-1"><span class="screen-reader-text">' . esc_html__( 'Show sub menu', 'travel-destination' ) . '</span>' . travel_destination_get_theme_svg( 'chevron-down' ) . '</span></button>';

            }

            // Close the wrapper
            $args->after .= '</div><!-- .submenu-wrapper -->';
            // Add sub menu icons to the main menu without toggles (the fallback menu)

        }elseif( $args->theme_location == 'travel-destination-primary-menu' ) {

            if ( in_array( 'menu-item-has-children', $item->classes ) ) {

                $args->before = '<div class="link-icon-wrapper">';
                $args->after  = travel_destination_get_theme_svg( 'chevron-down' ) . '</div>';

            } else {

                $args->before = '';
                $args->after  = '';

            }

        }

        return $args;

    }

endif;

add_filter( 'nav_menu_item_args', 'travel_destination_sub_menu_toggle_button', 10, 3 );

if ( ! function_exists( 'travel_destination_the_theme_svg' ) ):
    
    function travel_destination_the_theme_svg( $travel_destination_svg_name, $return = false ) {

        if( $return ){

            return travel_destination_get_theme_svg( $travel_destination_svg_name ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped in travel_destination_get_theme_svg();.

        }else{

            echo travel_destination_get_theme_svg( $travel_destination_svg_name ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped in travel_destination_get_theme_svg();.

        }
    }

endif;

if ( ! function_exists( 'travel_destination_get_theme_svg' ) ):

    function travel_destination_get_theme_svg( $travel_destination_svg_name ) {

        // Make sure that only our allowed tags and attributes are included.
        $travel_destination_svg = wp_kses(
            Travel_Destination_SVG_Icons::get_svg( $travel_destination_svg_name ),
            array(
                'svg'     => array(
                    'class'       => true,
                    'xmlns'       => true,
                    'width'       => true,
                    'height'      => true,
                    'viewbox'     => true,
                    'aria-hidden' => true,
                    'role'        => true,
                    'focusable'   => true,
                ),
                'path'    => array(
                    'fill'      => true,
                    'fill-rule' => true,
                    'd'         => true,
                    'transform' => true,
                ),
                'polygon' => array(
                    'fill'      => true,
                    'fill-rule' => true,
                    'points'    => true,
                    'transform' => true,
                    'focusable' => true,
                ),
                'polyline' => array(
                    'fill'      => true,
                    'points'    => true,
                ),
                'line' => array(
                    'fill'      => true,
                    'x1'      => true,
                    'x2' => true,
                    'y1'    => true,
                    'y2' => true,
                ),
            )
        );
        if ( ! $travel_destination_svg ) {
            return false;
        }
        return $travel_destination_svg;

    }

endif;

if( !function_exists( 'travel_destination_post_category_list' ) ) :

    // Post Category List.
    function travel_destination_post_category_list( $select_cat = true ){

        $post_cat_lists = get_categories(
            array(
                'hide_empty' => '0',
                'exclude' => '1',
            )
        );

        $post_cat_cat_array = array();
        if( $select_cat ){

            $post_cat_cat_array[''] = esc_html__( '-- Select Category --','travel-destination' );

        }

        foreach ( $post_cat_lists as $post_cat_list ) {

            $post_cat_cat_array[$post_cat_list->slug] = $post_cat_list->name;

        }

        return $post_cat_cat_array;
    }

endif;

if( !function_exists('travel_destination_single_post_navigation') ):

    function travel_destination_single_post_navigation(){

        $travel_destination_default = travel_destination_get_default_theme_options();
        $travel_destination_twp_navigation_type = esc_attr( get_post_meta( get_the_ID(), 'twp_disable_ajax_load_next_post', true ) );
        $current_id = '';
        $article_wrap_class = '';
        global $post;
        $current_id = $post->ID;
        if( $travel_destination_twp_navigation_type == '' || $travel_destination_twp_navigation_type == 'global-layout' ){
            $travel_destination_twp_navigation_type = get_theme_mod('twp_navigation_type', $travel_destination_default['twp_navigation_type']);
        }

        if( $travel_destination_twp_navigation_type != 'no-navigation' && 'post' === get_post_type() ){

            if( $travel_destination_twp_navigation_type == 'theme-normal-navigation' ){ ?>

                <div class="navigation-wrapper">
                    <?php
                    // Previous/next post navigation.
                    the_post_navigation(array(
                        'prev_text' => '<span class="arrow" aria-hidden="true">' . travel_destination_the_theme_svg('arrow-left',$return = true ) . '</span><span class="screen-reader-text">' . esc_html__('Previous post:', 'travel-destination') . '</span><span class="post-title">%title</span>',
                        'next_text' => '<span class="arrow" aria-hidden="true">' . travel_destination_the_theme_svg('arrow-right',$return = true ) . '</span><span class="screen-reader-text">' . esc_html__('Next post:', 'travel-destination') . '</span><span class="post-title">%title</span>',
                    )); ?>
                </div>
                <?php

            }else{

                $next_post = get_next_post();
                if( isset( $next_post->ID ) ){

                    $next_post_id = $next_post->ID;
                    echo '<div loop-count="1" next-post="' . absint( $next_post_id ) . '" class="twp-single-infinity"></div>';

                }
            }

        }

    }

endif;

add_action( 'travel_destination_navigation_action','travel_destination_single_post_navigation',30 );

if( !function_exists('travel_destination_content_offcanvas') ):

    // Offcanvas Contents
    function travel_destination_content_offcanvas(){ ?>

        <div id="offcanvas-menu">
            <div class="offcanvas-wraper">
                <div class="close-offcanvas-menu">
                    <div class="offcanvas-close">
                        <a href="javascript:void(0)" class="skip-link-menu-start"></a>
                        <button type="button" class="button-offcanvas-close">
                            <span class="offcanvas-close-label">
                                <?php echo esc_html__('Close', 'travel-destination'); ?>
                            </span>
                        </button>
                    </div>
                </div>
                <div id="primary-nav-offcanvas" class="offcanvas-item offcanvas-main-navigation">
                    <nav class="primary-menu-wrapper" aria-label="<?php esc_attr_e('Horizontal', 'travel-destination'); ?>" role="navigation">
                        <ul class="primary-menu theme-menu">
                            <?php
                            if (has_nav_menu('travel-destination-primary-menu')) {
                                wp_nav_menu(
                                    array(
                                        'container' => '',
                                        'items_wrap' => '%3$s',
                                        'theme_location' => 'travel-destination-primary-menu',
                                        'show_toggles' => true,
                                    )
                                );
                            }else{

                                wp_list_pages(
                                    array(
                                        'match_menu_classes' => true,
                                        'show_sub_menu_icons' => true,
                                        'title_li' => false,
                                        'show_toggles' => true,
                                        'walker' => new Travel_Destination_Walker_Page(),
                                    )
                                );
                            }
                            ?>
                        </ul>
                    </nav><!-- .primary-menu-wrapper -->
                </div>
                <a href="javascript:void(0)" class="skip-link-menu-end"></a>
            </div>
        </div>

    <?php
    }

endif;

add_action( 'travel_destination_before_footer_content_action','travel_destination_content_offcanvas',30 );

if( !function_exists('travel_destination_footer_content_widget') ):

    function travel_destination_footer_content_widget(){
        
        $travel_destination_default = travel_destination_get_default_theme_options();
        
        $travel_destination_footer_column_layout = absint(get_theme_mod('travel_destination_footer_column_layout', $travel_destination_default['travel_destination_footer_column_layout']));
        $travel_destination_footer_sidebar_class = 12;
        
        if($travel_destination_footer_column_layout == 2) {
            $travel_destination_footer_sidebar_class = 6;
        }
        
        if($travel_destination_footer_column_layout == 3) {
            $travel_destination_footer_sidebar_class = 4;
        }
        ?>
        
        <?php if ( get_theme_mod('travel_destination_display_footer', true) == true ) : ?>
            <div class="footer-widgetarea">
                <div class="wrapper">
                    <div class="column-row">
                    
                        <?php for ($i = 0; $i < $travel_destination_footer_column_layout; $i++) : ?>
                            
                            <div class="column <?php echo 'column-' . absint($travel_destination_footer_sidebar_class); ?> column-sm-12">
                                
                                <?php 
                                // If no widgets are assigned, display default widgets
                                if ( ! is_active_sidebar( 'travel-destination-footer-widget-' . $i ) ) : 

                                    if ($i === 0) : ?>
                                        <div id="media_image-3" class="widget widget_media_image">
                                            <img src="<?php echo esc_url(get_template_directory_uri() . '/assets/images/logo.png'); ?>" style="max-width: 100%; height: auto;">
                                        </div>
                                        <div id="text-3" class="widget widget_text">
                                            <div class="textwidget">
                                                <p class="widget_text">
                                                    <?php esc_html_e('The Travel Destination WordPress Theme is a dynamic and visually appealing solution tailored for travel agencies, tour operators, and travel bloggers. Designed to capture the essence of wanderlust, this theme is perfect for showcasing travel booking services, from budget travel booking to luxury travel packages. It offers seamless integration with travel booking systems, enabling agencies to manage flight booking, hotel booking, car rental booking, and tour package booking directly on their website.', 'travel-destination'); ?>
                                                </p>
                                            </div>
                                        </div>

                                    <?php elseif ($i === 1) : ?>
                                        <div id="pages-2" class="widget widget_pages">
                                            <h2 class="widget-title"><?php esc_html_e('Calendar', 'travel-destination'); ?></h2>
                                            <?php get_calendar(); ?>
                                        </div>

                                    <?php elseif ($i === 2) : ?>
                                        <div id="search-2" class="widget widget_search">
                                            <h2 class="widget-title"><?php esc_html_e('Enter Keywords Here', 'travel-destination'); ?></h2>
                                            <?php get_search_form(); ?>
                                        </div>
                                    <?php endif; 
                                    
                                else :
                                    // Display dynamic sidebar widget if assigned
                                    dynamic_sidebar('travel-destination-footer-widget-' . $i);
                                endif;
                                ?>
                                
                            </div>
                            
                        <?php endfor; ?>

                    </div>
                </div>
            </div>
        <?php endif; ?> 

    <?php
    }

endif;

add_action( 'travel_destination_footer_content_action', 'travel_destination_footer_content_widget', 10 );

if( !function_exists('travel_destination_footer_content_info') ):

    /**
     * Footer Copyright Area
    **/
    function travel_destination_footer_content_info(){

        $travel_destination_default = travel_destination_get_default_theme_options(); ?>
        <div class="site-info">
            <div class="wrapper">
                <div class="column-row">
                    <div class="column column-9">
                        <div class="footer-credits">
                            <div class="footer-copyright">
                                <?php
                                $travel_destination_footer_copyright_text = wp_kses_post( get_theme_mod( 'travel_destination_footer_copyright_text', $travel_destination_default['travel_destination_footer_copyright_text'] ) );
                                    echo esc_html( $travel_destination_footer_copyright_text );
                                    echo '<br>';
                                    echo esc_html__('Theme: ', 'travel-destination') . '<a href="' . esc_url('https://www.omegathemes.com/products/free-travel-agency-wordpress-theme') . '" title="' . esc_attr__('Travel Destination', 'travel-destination') . '" target="_blank"><span>' . esc_html__('Travel Destination', 'travel-destination') . '</span></a>' . esc_html__(' By ', 'travel-destination') . '  <span>' . esc_html__('OMEGA ', 'travel-destination') . '</span>';
                                    echo esc_html__('Powered by ', 'travel-destination') . '<a href="' . esc_url('https://wordpress.org') . '" title="' . esc_attr__('WordPress', 'travel-destination') . '" target="_blank"><span>' . esc_html__('WordPress.', 'travel-destination') . '</span></a>';
                                ?>
                            </div>
                        </div>
                    </div>
                    <div class="column column-3 align-text-right">
                        <a class="to-the-top" href="#site-header">
                            <span class="to-the-top-long">
                                <?php if ( get_theme_mod('travel_destination_enable_to_the_top', true) == true ) : ?>
                                    <?php
                                    $travel_destination_to_the_top_text = get_theme_mod( 'travel_destination_to_the_top_text', __( 'To the Top', 'travel-destination' ) );
                                    printf( 
                                        wp_kses( 
                                            /* translators: %s is the arrow icon markup */
                                            '%s %s', 
                                            array( 'span' => array( 'class' => array(), 'aria-hidden' => array() ) ) 
                                        ), 
                                        esc_html( $travel_destination_to_the_top_text ),
                                        '<span class="arrow" aria-hidden="true">&uarr;</span>' 
                                    );
                                    ?>
                                <?php endif; ?>
                            </span>
                        </a>

                    </div>
                </div>
            </div>
        </div>

    <?php
    }

endif;

add_action( 'travel_destination_footer_content_action','travel_destination_footer_content_info',20 );


if ( ! function_exists( 'travel_destination_main_slider' ) ) :

    function travel_destination_main_slider() {
        $output = '';
        $travel_destination_defaults = travel_destination_get_default_theme_options();
        $travel_destination_header_slider = get_theme_mod( 'travel_destination_header_slider', $travel_destination_defaults['travel_destination_header_slider'] );

        $travel_destination_banner_heading = esc_html( get_theme_mod( 'travel_destination_banner_heading',
        $travel_destination_defaults['travel_destination_banner_heading'] ) );

        $travel_destination_banner_content = esc_html( get_theme_mod( 'travel_destination_banner_content',
        $travel_destination_defaults['travel_destination_banner_content'] ) );

        $travel_destination_banner_rating_number = esc_html( get_theme_mod( 'travel_destination_banner_rating_number',
        $travel_destination_defaults['travel_destination_banner_rating_number'] ) );

        $travel_destination_banner_rating_text = esc_html( get_theme_mod( 'travel_destination_banner_rating_text',
        $travel_destination_defaults['travel_destination_banner_rating_text'] ) );

        $travel_destination_banner_team_image_1 = esc_url( get_theme_mod( 'travel_destination_banner_team_image_1',
        $travel_destination_defaults['travel_destination_banner_team_image_1'] ) );

        $travel_destination_banner_team_image_2 = esc_url( get_theme_mod( 'travel_destination_banner_team_image_2',
        $travel_destination_defaults['travel_destination_banner_team_image_2'] ) );

        $travel_destination_banner_team_image_3 = esc_url( get_theme_mod( 'travel_destination_banner_team_image_3',
        $travel_destination_defaults['travel_destination_banner_team_image_3'] ) );

        $travel_destination_banner_team_image_4 = esc_url( get_theme_mod( 'travel_destination_banner_team_image_4',
        $travel_destination_defaults['travel_destination_banner_team_image_4'] ) );

        // Debugging header slider status
        if ( ! $travel_destination_header_slider ) {
            error_log('Header slider is not enabled or has a falsy value.');
            return '';  // Exit early if no slider
        }

        $travel_destination_banner_background_image = get_theme_mod( 'travel_destination_banner_background_image', $travel_destination_defaults['travel_destination_banner_background_image'] );
        $travel_destination_header_banner_cat = get_theme_mod( 'travel_destination_header_banner_cat' );

        $banner_query = new WP_Query( array(
            'post_type' => 'post',
            'posts_per_page' => 4,
            'post__not_in' => get_option( 'sticky_posts' ),
            'category_name' => esc_html( $travel_destination_header_banner_cat ),
        ) );

        // Check if the query has posts
        if ( ! $banner_query->have_posts() ) {
            error_log('No posts found for the banner query.');
            return '';  // Exit early if no posts
        }

        ob_start();  // Start output buffering
        ?>
        <div id="site-content" class="main-banner">
            <div class="slider-box">
                <div class="wrapper">
                    <div class="main-slider">
                        <div class="content-box">
                            <div class="banner-content">
                                <?php if( $travel_destination_banner_heading ){ ?>
                                    <h3 class="short-heading"><?php echo esc_html( $travel_destination_banner_heading ); ?></h3>
                                <?php } ?>
                                <?php if( $travel_destination_banner_content ){ ?>
                                    <p class="content"><?php echo esc_html( $travel_destination_banner_content ); ?></p>
                                <?php } ?>

                            </div>
                            <div class="banner-rating">
                                <div class="rating-box">
                                    <?php if( $travel_destination_banner_rating_number ){ ?>
                                        <h6><?php echo esc_html( $travel_destination_banner_rating_number ); ?><span><img src="<?php echo esc_url(get_template_directory_uri() . '/assets/images/star.png'); ?>"></span></h6>
                                    <?php } ?>
                                    <?php if( $travel_destination_banner_rating_text ){ ?>
                                        <p><?php echo esc_html( $travel_destination_banner_rating_text ); ?></p>
                                    <?php } ?>
                                </div>
                                <div class="team-image">
                                    <?php if( $travel_destination_banner_team_image_1 ){ ?>
                                        <img class="team-images" src="<?php echo esc_url( $travel_destination_banner_team_image_1 ); ?>">
                                    <?php } ?>
                                    <?php if( $travel_destination_banner_team_image_2 ){ ?>
                                        <img class="team-images" src="<?php echo esc_url( $travel_destination_banner_team_image_2 ); ?>">
                                    <?php } ?>
                                    <?php if( $travel_destination_banner_team_image_3 ){ ?>
                                        <img class="team-images" src="<?php echo esc_url( $travel_destination_banner_team_image_3 ); ?>">
                                    <?php } ?>
                                    <?php if( $travel_destination_banner_team_image_4 ){ ?>
                                        <img class="team-images" src="<?php echo esc_url( $travel_destination_banner_team_image_4 ); ?>">
                                    <?php } ?>
                                </div>
                            </div>
                        </div>
                        <?php if( $travel_destination_banner_background_image ){ ?>
                            <img class="banner-image" src="<?php echo esc_url( $travel_destination_banner_background_image ); ?>">
                        <?php } ?>
                    </div>
                </div>
            </div>
        </div>
        <?php
        wp_reset_postdata();
        $output = ob_get_clean(); // Get buffered output and clean buffer
        return $output; // Return the output instead of echoing
    }

endif;


if( !function_exists( 'travel_destination_product_section' ) ) :

    function travel_destination_product_section(){ 

        $travel_destination_default = travel_destination_get_default_theme_options();
        $travel_destination_locations_post = get_theme_mod( 'travel_destination_locations_post', $travel_destination_default['travel_destination_locations_post'] );
        $travel_destination_locations_post_cat = get_theme_mod( 'travel_destination_locations_post_cat','uncategorized');

        $travel_destination_team_section_subtitle = esc_html( get_theme_mod( 'travel_destination_team_section_subtitle',
        $travel_destination_default['travel_destination_team_section_subtitle'] ) );

        $travel_destination_team_section_title = esc_html( get_theme_mod( 'travel_destination_team_section_title',
        $travel_destination_default['travel_destination_team_section_title'] ) );

        $travel_destination_team_section_button_text = esc_html( get_theme_mod( 'travel_destination_team_section_button_text',
        $travel_destination_default['travel_destination_team_section_button_text'] ) );

        $travel_destination_team_section_button_url = esc_url( get_theme_mod( 'travel_destination_team_section_button_url',
        $travel_destination_default['travel_destination_team_section_button_url'] ) );

        $travel_destination_locations_query = new WP_Query( array('post_type' => 'post', 'posts_per_page' => 6,'post__not_in' => get_option("sticky_posts"), 'category_name' => esc_html( $travel_destination_locations_post_cat ) ) );
            if( $travel_destination_locations_query->have_posts() ): ?>
            <div class="theme-product-block">
                <div class="wrapper">
                    <div class="services-box">
                        <div class="section-heading">
                            <div class="package-content">
                                <?php if( $travel_destination_team_section_title ){ ?>
                                    <h4><?php echo esc_html( $travel_destination_team_section_title ); ?></h4>
                                <?php } ?>
                                <?php if( $travel_destination_team_section_subtitle ){ ?>
                                    <p><?php echo esc_html( $travel_destination_team_section_subtitle ); ?></p>
                                <?php } ?>
                            </div>
                            <div class="package-button">
                                <a class="package-btn" href="<?php echo esc_url( $travel_destination_team_section_button_url ); ?>"><?php echo esc_html( $travel_destination_team_section_button_text ); ?><svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 320 512"><!--!Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"/></svg></a>
                            </div>
                        </div>
                        <div class="owl-carousel" role="listbox">
                            <?php
                                $s=1;
                                while( $travel_destination_locations_query->have_posts() ):
                                $travel_destination_locations_query->the_post();
                                $travel_destination_featured_image = wp_get_attachment_image_src(get_post_thumbnail_id(), 'large');
                                $travel_destination_featured_image = isset( $travel_destination_featured_image[0] ) ? $travel_destination_featured_image[0] : ''; 

                                $travel_destination_tour_location = esc_html( get_theme_mod( 'travel_destination_tour_location'.$s,) );

                                $travel_destination_tour_rating = esc_html( get_theme_mod( 'travel_destination_tour_rating'. $s, ) );

                                $travel_destination_tour_price = esc_html( get_theme_mod( 'travel_destination_tour_price'. $s, ) );

                                $travel_destination_tour_team_image = esc_html( get_theme_mod( 'travel_destination_tour_team_image'. $s, ) );

                                ?>                                
                                <div class="theme-article-post slider-post-content">
                                    <div class="entry-thumbnail">
                                        <div class="data-bg featured-img" data-background="<?php echo esc_url($travel_destination_featured_image ? $travel_destination_featured_image : get_template_directory_uri() . '/assets/images/package.png'); ?>">
                                            <a href="<?php the_permalink(); ?>" class="theme-image-responsive" tabindex="0"></a>
                                        </div>
                                        <?php travel_destination_post_format_icon(); ?>
                                    </div>
                                    <div class="main-owl-caption">
                                        <div class="post-content-location">
                                            <header class="entry-header">
                                                <?php if( $travel_destination_tour_rating){ ?>
                                                    <div class="tour-rating">
                                                        <h6><span class="rating-image"><img src="<?php echo esc_url(get_template_directory_uri() . '/assets/images/star.png'); ?>"></span><?php echo esc_html( $travel_destination_tour_rating ); ?></h6>
                                                        <?php if( $travel_destination_tour_team_image ){ ?>
                                                            <img class="team-images" src="<?php echo esc_url( $travel_destination_tour_team_image ); ?>">
                                                        <?php } ?>
                                                    </div>
                                                <?php } ?>
                                                <?php if( $travel_destination_tour_location ){ ?>
                                                    <p class="rating-text"><svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M172.3 501.7C27 291 0 269.4 0 192 0 86 86 0 192 0s192 86 192 192c0 77.4-27 99-172.3 309.7-9.5 13.8-29.9 13.8-39.5 0zM192 272c44.2 0 80-35.8 80-80s-35.8-80-80-80-80 35.8-80 80 35.8 80 80 80z"/></svg><?php echo esc_html( $travel_destination_tour_location ); ?></p>
                                                <?php } ?>
                                                <h2 class="entry-title entry-title-big">
                                                    <a href="<?php the_permalink(); ?>" rel="bookmark"><span><?php the_title(); ?></span></a>
                                                </h2>
                                                <div class="tour-button-box">
                                                    <div class="tour-button">
                                                        <a class="package-btn" href="<?php the_permalink(); ?>"><?php echo esc_html( 'Explore  Now','travel-destination' ); ?><svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 320 512"><!--!Font Awesome Free 6.7.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"/></svg></a>
                                                    </div>
                                                    <?php if( $travel_destination_tour_price){ ?>
                                                        <div class="tour-price">
                                                            <p class="default-text"><?php echo esc_html('From','travel-destination'); ?></p>
                                                            <p class="price-text"><?php echo esc_html( $travel_destination_tour_price ); ?></p>
                                                        </div>
                                                    <?php } ?>
                                                </div>
                                            </header>
                                        </div>
                                    </div>
                                </div>
                            <?php $s++; endwhile; ?>
                        </div>
                    </div>
                </div>
            </div>
             <?php
            wp_reset_postdata();
            endif;
          ?>
    <?php }

endif;
if (!function_exists('travel_destination_post_format_icon')):

    // Post Format Icon.
    function travel_destination_post_format_icon() {

        $travel_destination_format = get_post_format(get_the_ID()) ?: 'standard';
        $travel_destination_icon = '';
        $travel_destination_title = '';
        if( $travel_destination_format == 'video' ){
            $travel_destination_icon = travel_destination_get_theme_svg( 'video' );
            $travel_destination_title = esc_html__('Video','travel-destination');
        }elseif( $travel_destination_format == 'audio' ){
            $travel_destination_icon = travel_destination_get_theme_svg( 'audio' );
            $travel_destination_title = esc_html__('Audio','travel-destination');
        }elseif( $travel_destination_format == 'gallery' ){
            $travel_destination_icon = travel_destination_get_theme_svg( 'gallery' );
            $travel_destination_title = esc_html__('Gallery','travel-destination');
        }elseif( $travel_destination_format == 'quote' ){
            $travel_destination_icon = travel_destination_get_theme_svg( 'quote' );
            $travel_destination_title = esc_html__('Quote','travel-destination');
        }elseif( $travel_destination_format == 'image' ){
            $travel_destination_icon = travel_destination_get_theme_svg( 'image' );
            $travel_destination_title = esc_html__('Image','travel-destination');
        } elseif( $travel_destination_format == 'link' ){
            $travel_destination_icon = travel_destination_get_theme_svg( 'link' );
            $travel_destination_title = esc_html__('Link','travel-destination');
        } elseif( $travel_destination_format == 'status' ){
            $travel_destination_icon = travel_destination_get_theme_svg( 'status' );
            $travel_destination_title = esc_html__('Status','travel-destination');
        } elseif( $travel_destination_format == 'aside' ){
            $travel_destination_icon = travel_destination_get_theme_svg( 'aside' );
            $travel_destination_title = esc_html__('Aside','travel-destination');
        } elseif( $travel_destination_format == 'chat' ){
            $travel_destination_icon = travel_destination_get_theme_svg( 'chat' );
            $travel_destination_title = esc_html__('Chat','travel-destination');
        }
        
        if (!empty($travel_destination_icon)) { ?>
            <div class="theme-post-format">
                <span class="post-format-icom"><?php echo travel_destination_svg_escape($travel_destination_icon); ?></span>
                <?php if( $travel_destination_title ){ echo '<span class="post-format-label">'.esc_html( $travel_destination_title ).'</span>'; } ?>
            </div>
        <?php }
    }

endif;

if ( ! function_exists( 'travel_destination_svg_escape' ) ):

    /**
     * Get information about the SVG icon.
     *
     * @param string $travel_destination_svg_name The name of the icon.
     * @param string $group The group the icon belongs to.
     * @param string $color Color code.
     */
    function travel_destination_svg_escape( $travel_destination_input ) {

        // Make sure that only our allowed tags and attributes are included.
        $travel_destination_svg = wp_kses(
            $travel_destination_input,
            array(
                'svg'     => array(
                    'class'       => true,
                    'xmlns'       => true,
                    'width'       => true,
                    'height'      => true,
                    'viewbox'     => true,
                    'aria-hidden' => true,
                    'role'        => true,
                    'focusable'   => true,
                ),
                'path'    => array(
                    'fill'      => true,
                    'fill-rule' => true,
                    'd'         => true,
                    'transform' => true,
                ),
                'polygon' => array(
                    'fill'      => true,
                    'fill-rule' => true,
                    'points'    => true,
                    'transform' => true,
                    'focusable' => true,
                ),
            )
        );

        if ( ! $travel_destination_svg ) {
            return false;
        }

        return $travel_destination_svg;

    }

endif;

if( !function_exists( 'travel_destination_sanitize_sidebar_option_meta' ) ) :

    // Sidebar Option Sanitize.
    function travel_destination_sanitize_sidebar_option_meta( $travel_destination_input ){

        $metabox_options = array( 'global-sidebar','left-sidebar','right-sidebar','no-sidebar' );
        if( in_array( $travel_destination_input,$metabox_options ) ){

            return $travel_destination_input;

        }else{

            return '';

        }
    }

endif;

if( !function_exists( 'travel_destination_sanitize_pagination_meta' ) ) :

    // Sidebar Option Sanitize.
    function travel_destination_sanitize_pagination_meta( $travel_destination_input ){

        $travel_destination_metabox_options = array( 'Center','Right','Left');
        if( in_array( $travel_destination_input,$travel_destination_metabox_options ) ){

            return $travel_destination_input;

        }else{

            return '';

        }
    }

endif;

if( !function_exists( 'travel_destination_sanitize_copyright_alignment_meta' ) ) :

    // Sidebar Option Sanitize.
    function travel_destination_sanitize_copyright_alignment_meta( $travel_destination_input ){

        $travel_destination_metabox_options = array( 'Default','Reverse','Center');
        if( in_array( $travel_destination_input,$travel_destination_metabox_options ) ){

            return $travel_destination_input;

        }else{

            return '';

        }
    }

endif;

if( !function_exists( 'travel_destination_sanitize_pagination_type' ) ) :

    /**
     * Sanitize the pagination type setting.
     *
     * @param string $travel_destination_input The input value from the Customizer.
     * @return string The sanitized value.
     */
    function travel_destination_sanitize_pagination_type( $travel_destination_input ) {
        // Define valid options for the pagination type.
        $travel_destination_valid_options = array( 'numeric', 'newer_older' ); // Update valid options to include 'newer_older'

        // If the input is one of the valid options, return it. Otherwise, return the default option ('numeric').
        if ( in_array( $travel_destination_input, $travel_destination_valid_options, true ) ) {
            return $travel_destination_input;
        } else {
            // Return 'numeric' as the fallback if the input is invalid.
            return 'numeric';
        }
    }

endif;


// Sanitize the enable/disable setting for pagination
if( !function_exists('travel_destination_sanitize_enable_pagination') ) :
    function travel_destination_sanitize_enable_pagination( $travel_destination_input ) {
        return (bool) $travel_destination_input;
    }
endif;

if( !function_exists( 'travel_destination_sanitize_menu_transform' ) ) :

    // Sidebar Option Sanitize.
    function travel_destination_sanitize_menu_transform( $travel_destination_input ){

        $travel_destination_metabox_options = array( 'capitalize','uppercase','lowercase');
        if( in_array( $travel_destination_input,$travel_destination_metabox_options ) ){

            return $travel_destination_input;

        }else{

            return '';

        }
    }

endif;

if( !function_exists( 'travel_destination_sanitize_page_content_alignment' ) ) :

    // Sidebar Option Sanitize.
    function travel_destination_sanitize_page_content_alignment( $travel_destination_input ){

        $travel_destination_metabox_options = array( 'left','center','right');
        if( in_array( $travel_destination_input,$travel_destination_metabox_options ) ){

            return $travel_destination_input;

        }else{

            return '';

        }
    }

endif;

if( !function_exists( 'travel_destination_sanitize_footer_widget_title_alignment' ) ) :

    // Footer Option Sanitize.
    function travel_destination_sanitize_footer_widget_title_alignment( $travel_destination_input ){

        $travel_destination_metabox_options = array( 'left','center','right');
        if( in_array( $travel_destination_input,$travel_destination_metabox_options ) ){

            return $travel_destination_input;

        }else{

            return '';

        }
    }

endif;

/**
 * Sidebar Layout Function
 */
function travel_destination_get_final_sidebar_layout() {
	$travel_destination_defaults = travel_destination_get_default_theme_options();
	$travel_destination_global_layout  = get_theme_mod('travel_destination_global_sidebar_layout', $travel_destination_defaults['travel_destination_global_sidebar_layout']);
	$travel_destination_page_layout    = get_theme_mod('travel_destination_page_sidebar_layout', $travel_destination_global_layout);
	$travel_destination_post_layout    = get_theme_mod('travel_destination_post_sidebar_layout', $travel_destination_global_layout);
	$travel_destination_meta_layout    = get_post_meta(get_the_ID(), 'travel_destination_post_sidebar_option', true);

	if (!empty($travel_destination_meta_layout) && $travel_destination_meta_layout !== 'default') {
		return $travel_destination_meta_layout;
	}
	if (is_page() || (function_exists('is_shop') && is_shop())) {
		return $travel_destination_page_layout;
	}
	if (is_single()) {
		return $travel_destination_post_layout;
	}
	return $travel_destination_global_layout;
}