/** * travel-tour functions and definitions * * @package Travel Tour */ // freemius integration start if ( !function_exists( 'fs_travel_tour' ) ) { // Create a helper function for easy SDK access. function fs_travel_tour() { global $fs_travel_tour; if ( !isset( $fs_travel_tour ) ) { // Include Freemius SDK. require_once dirname( __FILE__ ) . '/freemius/start.php'; $fs_travel_tour = fs_dynamic_init( array( 'id' => '6953', 'slug' => 'travel-tour', 'premium_slug' => 'travel-tour-pro', 'type' => 'theme', 'public_key' => 'pk_5ba452bca36d531b9de0708da3575', 'is_premium' => false, 'premium_suffix' => 'Pro', 'has_addons' => false, 'has_paid_plans' => true, 'navigation' => 'tabs', 'menu' => array( 'slug' => 'travel-tour', 'parent' => array( 'slug' => 'themes.php', ), 'first-path' => 'themes.php?page=travel-tour', 'contact' => true, 'account' => true, 'support' => false, 'addons' => false, 'affiliation' => false, 'pricing' => false, ), 'is_live' => true, ) ); } return $fs_travel_tour; } // Init Freemius. fs_travel_tour(); // Signal that SDK was initiated. do_action( 'fs_travel_tour_loaded' ); } // freemius integration end if ( !defined( 'TRAVEL_TOUR_VERSION' ) ) { // Replace the version number of the theme on each release. define( 'TRAVEL_TOUR_VERSION', '3.2.2' ); } if ( !function_exists( 'travel_tour_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 travel_tour_setup() { /* * Make theme available for translation. * Translations can be filed in the /languages/ directory. * If you're building a theme based on travel-tour, use a find and replace * to change 'travel-tour' to the name of your theme in all the template files */ load_theme_textdomain( 'travel-tour' ); // 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 http://codex.wordpress.org/Function_Reference/add_theme_support#Post_Thumbnails */ add_theme_support( 'post-thumbnails' ); add_theme_support( 'post-templates' ); // This theme uses wp_nav_menu() in one location. register_nav_menus( array( 'primary' => esc_html__( 'Primary Menu', 'travel-tour' ), ) ); /* * 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' ) ); /* * Enable support for Post Formats. * See http://codex.wordpress.org/Post_Formats */ add_theme_support( 'custom-logo', array( 'height' => 90, 'width' => 400, 'flex-width' => true, ) ); // Set up the WordPress core custom background feature. add_theme_support( 'custom-background', apply_filters( 'travel_tour_custom_background_args', array( 'default-color' => 'ffffff', 'default-image' => '', ) ) ); add_theme_support( "custom-header", array( 'default-color' => 'ffffff', 'default-image' => get_template_directory_uri() . '/images/banner.webp', ) ); add_editor_style(); add_theme_support( 'register_block_style' ); add_theme_support( 'register_block_pattern' ); add_theme_support( "wp-block-styles" ); add_theme_support( "responsive-embeds" ); add_theme_support( "align-wide" ); // Add theme support for selective refresh for widgets. add_theme_support( 'customize-selective-refresh-widgets' ); // Define Image Sizes: add_image_size( 'travel-tour-slider', 256, 350, true ); require get_template_directory() . '/inc/starter-content.php'; $starter_content = travel_tour_starter_content(); add_theme_support( 'starter-content', $starter_content ); } // travel_tour_setup } add_action( 'after_setup_theme', 'travel_tour_setup' ); /** * Enqueue scripts and styles. */ function travel_tour_scripts() { $font_family = get_theme_mod( 'font_family', 'Raleway' ); $heading_font_family = get_theme_mod( 'heading_font_family', 'Montserrat' ); $logo_font_family = esc_attr( get_theme_mod( 'travel_tour_site_identity_font_family', 'Montserrat' ) ); wp_enqueue_style( 'bootstrap', get_template_directory_uri() . '/css/bootstrap.css', array(), TRAVEL_TOUR_VERSION ); wp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/css/font-awesome.css', array(), "4.6.1" ); wp_enqueue_style( 'owl', get_template_directory_uri() . '/css/owl.carousel.css', array(), "2.3.4" ); wp_enqueue_style( 'travel-tour-googlefonts', '//fonts.googleapis.com/css?family=' . esc_attr( $font_family ) . ':200,300,400,500,600,700,800,900|' . esc_attr( $heading_font_family ) . ':200,300,400,500,600,700,800,900' . esc_attr( $logo_font_family ) . ':200,300,400,500,600,700,800,900|' ); wp_enqueue_style( 'travel-tour-style', get_stylesheet_uri(), array(), TRAVEL_TOUR_VERSION ); wp_enqueue_script( 'bootstrap', get_template_directory_uri() . '/js/bootstrap.js', array('jquery'), '5.3.3', true ); wp_enqueue_script( 'wow', get_template_directory_uri() . '/js/wow.js', array('jquery'), '1.0.0', true ); wp_enqueue_script( 'owl', get_template_directory_uri() . '/js/owl.carousel.js', array('jquery'), '2.3.4', true ); wp_enqueue_script( 'travel-tour-scripts', get_template_directory_uri() . '/js/script.js', array('jquery'), TRAVEL_TOUR_VERSION, true ); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } } add_action( 'wp_enqueue_scripts', 'travel_tour_scripts' ); /** * Required Plugins */ add_theme_support( 'required-plugins', array(array( 'slug' => 'tbthemes-demo-import', 'name' => 'TBThemes Theme Import', 'active_filename' => 'tbthemes-demo-import/tbthemes-demo-import.php', ), array( 'slug' => 'wp-travel-engine', 'name' => 'WP Travel Engine', 'active_filename' => 'wp-travel-engine/wp-travel-engine.php', )) ); /** * 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 */ if ( !isset( $content_width ) ) { $content_width = 900; } function travel_tour_content_width() { $GLOBALS['content_width'] = apply_filters( 'travel_tour_content_width', 640 ); } add_action( 'after_setup_theme', 'travel_tour_content_width', 0 ); /** * Call Widget page **/ require get_template_directory() . '/inc/widgets/widgets.php'; /** * Custom template tags for this theme. */ require get_template_directory() . '/inc/template-tags.php'; /** * Custom functions that act independently of the theme templates. */ require get_template_directory() . '/inc/extras.php'; require get_template_directory() . '/inc/custom-controls/custom-control.php'; /** * Customizer additions. */ require get_template_directory() . '/inc/customizer/customizer.php'; /** * Custom navigation walker */ require get_template_directory() . '/inc/wp_bootstrap_navwalker.php'; /** * Custom comment walker */ require get_template_directory() . '/inc/wp_bootstrap_comment_walker.php'; /** * Demo Content Section */ require get_template_directory() . '/inc/demo-content.php'; require get_template_directory() . '/inc/dynamic-css.php'; // Remove default "Category or Tags" from title add_filter( 'get_the_archive_title', 'travel_tour_remove_defalut_tax_title' ); function travel_tour_remove_defalut_tax_title( $title ) { if ( is_category() ) { $title = single_cat_title( '', false ); } elseif ( is_tag() ) { $title = single_tag_title( '', false ); } return $title; } // add classes for post_class function add_filter( 'post_class', 'travel_tour_sticky_classes', 10, 3 ); function travel_tour_sticky_classes( $classes, $class, $post_id ) { $classes[] = 'col-sm-12 eq-blocks'; return $classes; } function travel_tour_get_trip_info( $post_id ) { if ( !class_exists( 'Wp_Travel_Engine' ) ) { return; } $trip_info = get_post_meta( $post_id, 'wp_travel_engine_setting', true ); return $trip_info; } function travel_tour_trip_settings() { if ( !class_exists( 'Wp_Travel_Engine' ) ) { return; } $trip_settings = get_option( 'wp_travel_engine_settings', true ); return $trip_settings; } /** * Theme Admin Dashboard */ require get_template_directory() . '/inc/admin/dashboard.php'; /** * Sidebar panel */ require get_template_directory() . '/inc/gutenberg/sidebar/sidebar_panel.php'; /** * Set permalinks so that WPTE API works properly */ function travel_tour_change_permalinks() { global $wp_rewrite; $wp_rewrite->set_permalink_structure( '/%postname%/' ); $wp_rewrite->flush_rules(); } add_action( 'init', 'travel_tour_change_permalinks' ); /** * Social media * */ function travel_tour_social_media() { $social_media = array( 'facebook' => esc_html__( 'Facebook', 'travel-tour' ), 'twitter' => esc_html__( 'Twitter', 'travel-tour' ), 'pinterest' => esc_html__( 'Pinterest', 'travel-tour' ), 'instagram' => esc_html__( 'Instagram', 'travel-tour' ), 'youtube' => esc_html__( 'Youtube', 'travel-tour' ), 'linkedin' => esc_html__( 'LinkedIn', 'travel-tour' ), 'tripadvisor' => esc_html__( 'Tripadvisor', 'travel-tour' ), ); return $social_media; } /** * Generate Bootstrap 5.3 compatible pagination. * * @param WP_Query|null $query Optional. Custom WP_Query object. Defaults to global $wp_query. */ function travel_tour_pagination( $query = null ) { // Use the global query if no custom query is passed. if ( !$query ) { global $wp_query; $query = $wp_query; } // Don't render pagination if there's only one page. if ( $query->max_num_pages <= 1 ) { return; } // Get the current page. $current_page = max( 1, get_query_var( 'paged' ) ); // Pagination arguments. $pagination_links = paginate_links( array( 'total' => $query->max_num_pages, 'current' => $current_page, 'type' => 'array', 'prev_text' => __( '«', 'travel-tour' ), 'next_text' => __( '»', 'travel-tour' ), ) ); // If pagination links exist, output them in Bootstrap format. if ( !empty( $pagination_links ) ) { echo '<nav class="my-40" aria-label="Page navigation"><ul class="pagination justify-content-center">'; foreach ( $pagination_links as $link ) { // Add Bootstrap classes to each pagination item. $class = ( strpos( $link, 'current' ) !== false ? 'page-item active' : 'page-item' ); echo '<li class="' . esc_attr( $class ) . '">' . str_replace( 'page-numbers', 'page-link', $link ) . '</li>'; } echo '</ul></nav>'; } } <!DOCTYPE html> <html dir="ltr" lang="vi" prefix="og: https://ogp.me/ns#"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Quên mật khẩu ‹ Du lịch Lê Gia — WordPress

Quên mật khẩu

Xây dựng bằng WordPress

Vui lòng điền tên người dùng hoặc địa chỉ email của bạn. Bạn sẽ nhận được một email với hướng dẫn khôi phục mật khẩu.

← Quay lại Du lịch Lê Gia