Make WordPress Themes

Changeset 357506


Ignore:
Timestamp:
11/06/2026 01:31:13 AM (3 hours ago)
Author:
themedropbox
Message:

New version of Travel X - 1.1.2

Location:
travel-x/1.1.2
Files:
6 edited
1 copied

Legend:

Unmodified
Added
Removed
  • travel-x/1.1.2/actions/header-actions.php

    r309512 r357506  
    104104                        'menu_id'        => 'travel-x-menu',
    105105                        'menu_class'        => 'travel-x-menu',
     106                        'fallback_cb'       => 'travel_x_menu_fallback',
    106107                ));
    107108                ?>
    … …  
    145146                                'menu_class'     => 'wsm-menu',
    146147                                'container'      => false,
    147                         ));
     148                                'fallback_cb'       => 'travel_x_menu_fallback',
     149                ));
    148150                } else {
    149151                        // Fallback menu when no menu is assigned - Home + 5 pages = 6 items total
  • travel-x/1.1.2/assets/css/main.css

    r344072 r357506  
    12501250  }
    12511251}
     1252
     1253/* ==========================================================================
     1254   Header Logo & Navigation Spacing Rule (Collision Prevention)
     1255   Ensures at least 30-40px gap between logo and menu so they never touch.
     1256   ========================================================================== */
     1257@media (min-width: 992px) {
     1258  .menubar-content,
     1259  .pxm-style1 .navigation .d-flex,
     1260  .pxm-style2 .navigation .d-flex,
     1261  .navigation .d-flex,
     1262  .site-header .d-flex,
     1263  .header-main-wrapper .d-flex,
     1264  .resume-x-container.menu-inner,
     1265  .travel-x-container.menu-inner {
     1266    gap: 35px;
     1267  }
     1268
     1269  .head-logo-sec,
     1270  .pxms1-logo,
     1271  .site-branding.brand-logo,
     1272  .site-branding.brand-text,
     1273  .menubar-content .head-logo-sec,
     1274  .header-logo-wrap,
     1275  .sm-logo {
     1276    flex-shrink: 0;
     1277    margin-right: 30px;
     1278  }
     1279
     1280  .main-navigation,
     1281  .pxms1-menu,
     1282  .resume-x-container.menu-inner,
     1283  .travel-x-container.menu-inner {
     1284    min-width: 0;
     1285  }
     1286}
  • travel-x/1.1.2/functions.php

    r344072 r357506  
    164164
    165165        $font_families = array();
    166 
    167         $font_families[] = 'Irish Grover:400,400i,700,700i';
    168         $font_families[] = 'Noto Serif:400,400i,700,700i';
    169         $font_families[] = 'Koh Santepheap:400,400i,500,600,700,700i';
     166        $font_families[] = 'Irish+Grover';
     167        $font_families[] = 'Noto+Serif:ital,wght@0,400;0,700;1,400;1,700';
     168        $font_families[] = 'Koh+Santepheap:wght@400;500;600;700';
    170169
    171170        $query_args = array(
    172                 'family' => urlencode(implode('|', $font_families)),
    173                 'subset' => urlencode('latin,latin-ext'),
     171                'family' => implode('&family=', $font_families),
     172                'display' => 'swap',
    174173        );
    175174
    176         $fonts_url = add_query_arg($query_args, 'https://fonts.googleapis.com/css');
    177 
     175        $fonts_url = add_query_arg($query_args, 'https://fonts.googleapis.com/css2');
    178176
    179177        return esc_url_raw($fonts_url);
    … …  
    302300}
    303301add_filter('excerpt_more', 'travel_x_exerpt_more_hide', 999);
     302
     303
     304/**
     305 * Fallback menu for Travel X
     306 * Limits fallback menu display to a maximum of 7 items (Home + up to 6 published pages)
     307 * to prevent header layout break when no custom menu is assigned.
     308 *
     309 * @param array|object $args Arguments passed from wp_nav_menu.
     310 */
     311function travel_x_menu_fallback($args = array())
     312{
     313        $menu_id = is_array($args) && isset($args['menu_id']) ? $args['menu_id'] : (is_object($args) && isset($args->menu_id) ? $args->menu_id : 'travel-x-menu');
     314        $menu_class = is_array($args) && isset($args['menu_class']) ? $args['menu_class'] : (is_object($args) && isset($args->menu_class) ? $args->menu_class : 'travel-x-menu');
     315
     316        $menu = '<ul id="' . esc_attr($menu_id) . '" class="' . esc_attr($menu_class) . '">';
     317
     318        // 1. Add Home link as first item
     319        $home_current = (is_front_page() || is_home()) ? ' current-menu-item' : '';
     320        $menu .= '<li class="menu-item menu-item-home' . $home_current . '"><a href="' . esc_url(home_url('/')) . '">' . esc_html__('Home', 'travel-x') . '</a></li>';
     321
     322        // 2. Query up to 6 published pages, excluding static front page if configured
     323        $exclude_ids = array();
     324        $front_page_id = (int) get_option('page_on_front');
     325        if ($front_page_id > 0) {
     326                $exclude_ids[] = $front_page_id;
     327        }
     328
     329        $pages = get_pages(array(
     330                'number'      => 6,
     331                'sort_column' => 'menu_order, post_title',
     332                'sort_order'  => 'ASC',
     333                'post_status' => 'publish',
     334                'exclude'     => $exclude_ids,
     335        ));
     336
     337        if (!empty($pages)) {
     338                foreach ($pages as $page) {
     339                        $page_current = (is_page($page->ID)) ? ' current-menu-item' : '';
     340                        $menu .= '<li class="menu-item menu-item-type-post_type menu-item-object-page' . $page_current . '"><a href="' . esc_url(get_permalink($page->ID)) . '">' . esc_html($page->post_title) . '</a></li>';
     341                }
     342        }
     343
     344        $menu .= '</ul>';
     345
     346        echo $menu;
     347}
  • travel-x/1.1.2/inc/about/about.php

    r344072 r357506  
    286286 * Pro notice text with enhanced sales copy
    287287 */
     288
     289/**
     290 * Pro notice text (Modern SaaS Card Design)
     291 */
    288292function travel_x_pnotice_output()
    289293{
     294        $current_theme = wp_get_theme();
     295        $current_theme_name = $current_theme->get('Name');
     296        $pro_link  = esc_url('https://wpthemespace.com/product/travel-x-pro/');
    290297        $demo_link = esc_url('https://wpthemespace.com/product/travel-x-pro/');
    291         $pro_link = esc_url('https://wpthemespace.com/product/travel-x-pro/?add-to-cart=10128');
    292298?>
    293         <div class="mgadin-hero">
    294                 <div class="mge-info-content">
    295                         <div class="mge-info-text">
    296                                 <div class="mge-info-hello">
    297                                         <?php esc_html_e('Travel X Pro — Grow Your Blog Faster 🚀', 'travel-x'); ?>
     299        <style>
     300                @keyframes RedGlow {
     301                        0% { box-shadow: 0 4px 20px rgba(239, 68, 68, 0.15); border-color: rgba(239, 68, 68, 0.3); }
     302                        50% { box-shadow: 0 6px 28px rgba(239, 68, 68, 0.35); border-color: rgba(239, 68, 68, 0.65); }
     303                        100% { box-shadow: 0 4px 20px rgba(239, 68, 68, 0.15); border-color: rgba(239, 68, 68, 0.3); }
     304                }
     305                @keyframes BtnPulse {
     306                        0% { transform: scale(1); box-shadow: 0 4px 12px rgba(220, 38, 38, 0.35); }
     307                        50% { transform: scale(1.02); box-shadow: 0 6px 18px rgba(220, 38, 38, 0.55); }
     308                        100% { transform: scale(1); box-shadow: 0 4px 12px rgba(220, 38, 38, 0.35); }
     309                }
     310                @keyframes TagPulse {
     311                        0% { transform: scale(1); }
     312                        50% { transform: scale(1.04); }
     313                        100% { transform: scale(1); }
     314                }
     315                .travel-x-pro-notice-card {
     316                        background: #ffffff !important;
     317                        border: 1px solid rgba(239, 68, 68, 0.35) !important;
     318                        border-left: 5px solid #ef4444 !important;
     319                        border-radius: 12px !important;
     320                        padding: 24px 28px !important;
     321                        margin: 20px 0 !important;
     322                        box-shadow: 0 4px 20px rgba(239, 68, 68, 0.12) !important;
     323                        animation: RedGlow 3.5s ease-in-out infinite !important;
     324                        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
     325                        box-sizing: border-box !important;
     326                        position: relative !important;
     327                }
     328                .travel-x-pro-wrapper {
     329                        display: flex !important;
     330                        align-items: center !important;
     331                        justify-content: space-between !important;
     332                        gap: 32px !important;
     333                        flex-wrap: wrap !important;
     334                }
     335                .travel-x-pro-left {
     336                        flex: 1 1 560px !important;
     337                }
     338                .travel-x-pro-header {
     339                        display: flex !important;
     340                        align-items: center !important;
     341                        gap: 10px !important;
     342                        margin-bottom: 10px !important;
     343                        flex-wrap: wrap !important;
     344                }
     345                .travel-x-tag-pro {
     346                        background: linear-gradient(135deg, #ef4444 0%, #b91c1c 100%) !important;
     347                        color: #ffffff !important;
     348                        font-size: 11px !important;
     349                        font-weight: 800 !important;
     350                        letter-spacing: 1px !important;
     351                        padding: 3px 10px !important;
     352                        border-radius: 6px !important;
     353                        text-transform: uppercase !important;
     354                }
     355                .travel-x-tag-deal {
     356                        background: #fef2f2 !important;
     357                        color: #b91c1c !important;
     358                        border: 1px solid #fecaca !important;
     359                        font-size: 12px !important;
     360                        font-weight: 700 !important;
     361                        padding: 3px 10px !important;
     362                        border-radius: 6px !important;
     363                        animation: TagPulse 2.5s ease-in-out infinite !important;
     364                        display: inline-flex !important;
     365                        align-items: center !important;
     366                        gap: 5px !important;
     367                }
     368                .travel-x-pro-headline {
     369                        font-size: 20px !important;
     370                        font-weight: 800 !important;
     371                        color: #111827 !important;
     372                        margin: 0 0 10px 0 !important;
     373                        line-height: 1.35 !important;
     374                }
     375                .travel-x-pro-desc {
     376                        font-size: 13.5px !important;
     377                        line-height: 1.6 !important;
     378                        color: #4b5563 !important;
     379                        margin: 0 0 16px 0 !important;
     380                }
     381                .travel-x-pro-badges {
     382                        display: flex !important;
     383                        flex-wrap: wrap !important;
     384                        gap: 8px !important;
     385                }
     386                .travel-x-badge-item {
     387                        background: #f3f4f6 !important;
     388                        color: #374151 !important;
     389                        border: 1px solid #e5e7eb !important;
     390                        font-size: 11.5px !important;
     391                        font-weight: 600 !important;
     392                        padding: 4px 10px !important;
     393                        border-radius: 6px !important;
     394                        display: inline-flex !important;
     395                        align-items: center !important;
     396                        gap: 5px !important;
     397                }
     398                .travel-x-badge-item span {
     399                        color: #10b981 !important;
     400                        font-weight: bold !important;
     401                }
     402                .travel-x-pro-right {
     403                        display: flex !important;
     404                        flex-direction: column !important;
     405                        align-items: flex-end !important;
     406                        gap: 10px !important;
     407                }
     408                .travel-x-btn-cta {
     409                        background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
     410                        color: #ffffff !important;
     411                        font-size: 14px !important;
     412                        font-weight: 700 !important;
     413                        padding: 12px 24px !important;
     414                        border-radius: 8px !important;
     415                        text-decoration: none !important;
     416                        display: inline-flex !important;
     417                        align-items: center !important;
     418                        gap: 8px !important;
     419                        box-shadow: 0 4px 12px rgba(220, 38, 38, 0.35) !important;
     420                        animation: BtnPulse 2.8s ease-in-out infinite !important;
     421                        transition: all 0.2s ease !important;
     422                        border: none !important;
     423                }
     424                .travel-x-btn-cta:hover {
     425                        background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
     426                        color: #ffffff !important;
     427                        transform: translateY(-2px) !important;
     428                        box-shadow: 0 6px 18px rgba(220, 38, 38, 0.45) !important;
     429                }
     430                .travel-x-btn-demo {
     431                        background: #ffffff !important;
     432                        color: #4b5563 !important;
     433                        font-size: 13px !important;
     434                        font-weight: 600 !important;
     435                        padding: 8px 18px !important;
     436                        border-radius: 8px !important;
     437                        text-decoration: none !important;
     438                        border: 1px solid #d1d5db !important;
     439                        display: inline-flex !important;
     440                        align-items: center !important;
     441                        gap: 6px !important;
     442                        transition: all 0.2s ease !important;
     443                }
     444                .travel-x-btn-demo:hover {
     445                        background: #f9fafb !important;
     446                        color: #111827 !important;
     447                        border-color: #9ca3af !important;
     448                }
     449                .travel-x-btn-dismiss {
     450                        background: transparent !important;
     451                        border: none !important;
     452                        color: #9ca3af !important;
     453                        font-size: 12px !important;
     454                        cursor: pointer !important;
     455                        padding: 4px 6px !important;
     456                        text-decoration: underline !important;
     457                        transition: color 0.2s ease !important;
     458                }
     459                .travel-x-btn-dismiss:hover {
     460                        color: #4b5563 !important;
     461                }
     462                @media (max-width: 782px) {
     463                        .travel-x-pro-wrapper {
     464                                flex-direction: column !important;
     465                                align-items: flex-start !important;
     466                        }
     467                        .travel-x-pro-right {
     468                                align-items: flex-start !important;
     469                                width: 100% !important;
     470                        }
     471                        .travel-x-btn-cta {
     472                                width: 100% !important;
     473                                justify-content: center !important;
     474                        }
     475                }
     476        </style>
     477
     478        <div class="travel-x-pro-notice-card">
     479                <div class="travel-x-pro-wrapper">
     480                        <div class="travel-x-pro-left">
     481                                <div class="travel-x-pro-header">
     482                                        <span class="travel-x-tag-pro"><?php esc_html_e('PRO UPGRADE', 'travel-x'); ?></span>
     483                                        <span class="travel-x-tag-deal">⚡ <?php esc_html_e('Special Offer: Now Only $19 - Price Dropped!', 'travel-x'); ?></span>
    298484                                </div>
    299                                 <div class="mge-info-desc">
    300                                         <div><?php esc_html_e('Premium widgets, YouTube & Vimeo video integration, one-click demo import, and lightning-fast performance — everything you need to attract more readers and grow your travel blog on autopilot.', 'travel-x'); ?></div>
    301                                         <div class="mge-offer"><?php esc_html_e('✔ One-time payment — lifetime access & updates.', 'travel-x'); ?></div>
     485                                <h2 class="travel-x-pro-headline">
     486                                        <?php printf(esc_html__('%s Pro — Supercharge Your Travel Blog & Adventure Audience!', 'travel-x'), esc_html($current_theme_name)); ?>
     487                                </h2>
     488                                <p class="travel-x-pro-desc">
     489                                        <?php esc_html_e('Transform your site with 1-click starter demos, video travel logs, unlimited colors, high-speed Core Web Vitals, and priority VIP support.', 'travel-x'); ?>
     490                                </p>
     491                                <div class="travel-x-pro-badges">
     492                                        <div class="travel-x-badge-item"><span>✓</span> <?php esc_html_e('1-Click Demo Import (Starter Sites)', 'travel-x'); ?></div>
     493                                        <div class="travel-x-badge-item"><span>✓</span> <?php esc_html_e('Unlimited Colors & Typography', 'travel-x'); ?></div>
     494                                        <div class="travel-x-badge-item"><span>✓</span> <?php esc_html_e('10x Faster Speed & Core Web Vitals', 'travel-x'); ?></div>
     495                                        <div class="travel-x-badge-item"><span>✓</span> <?php esc_html_e('Video & Media Showcase Ready', 'travel-x'); ?></div>
     496                                        <div class="travel-x-badge-item"><span>✓</span> <?php esc_html_e('Remove Footer Credit & 24/7 VIP Support', 'travel-x'); ?></div>
    302497                                </div>
    303                                 <div class="mge-info-actions">
    304                                         <a href="<?php echo esc_url($pro_link); ?>" target="_blank" class="button button-primary upgrade-btn">
    305                                                 <?php esc_html_e('Upgrade to Pro', 'travel-x'); ?>
    306                                         </a>
    307                                         <a href="<?php echo esc_url($demo_link); ?>" target="_blank" class="button button-primary demo-btn">
    308                                                 <?php esc_html_e('View Live Demo', 'travel-x'); ?>
    309                                         </a>
    310                                         <button class="button button-info btnend"><?php esc_html_e('Not Right Now', 'travel-x') ?></button>
    311                                 </div>
     498                        </div>
     499                        <div class="travel-x-pro-right">
     500                                <a href="<?php echo esc_url($pro_link); ?>" target="_blank" class="travel-x-btn-cta">
     501                                        🚀 <?php esc_html_e('Upgrade to Pro for Only $19', 'travel-x'); ?>
     502                                </a>
     503                                <a href="<?php echo esc_url($demo_link); ?>" target="_blank" class="travel-x-btn-demo">
     504                                        👀 <?php esc_html_e('Live Demo & Features', 'travel-x'); ?>
     505                                </a>
     506                                <button class="travel-x-btn-dismiss btnend"><?php esc_html_e('Maybe Later', 'travel-x'); ?></button>
    312507                        </div>
    313508                </div>
    … …  
    316511}
    317512
    318 //Admin notice
     513// Admin notice display
    319514function travel_x_new_optins_texts()
    320515{
    321         $hide_date = get_option('travel_x_info_text1_v2');
     516        $hide_date = get_option('travel_x_pro_textinfo_v112');
    322517        if (!empty($hide_date)) {
    323518                $clickhide = round((time() - strtotime($hide_date)) / 24 / 60 / 60);
    … …  
    326521                }
    327522        }
     523
    328524?>
    329         <div class="mgadin-notice notice notice-info mgadin-theme-dashboard mgadin-theme-dashboard-notice mge is-dismissible meis-dismissible">
     525        <div class="mgadin-notice notice notice-success mgadin-theme-dashboard mgadin-theme-dashboard-notice mge is-dismissible meis-dismissible" style="padding:0; border:none; background:transparent;">
    330526                <?php travel_x_pnotice_output(); ?>
    331527        </div>
    … …  
    336532function travel_x_new_optins_texts_init()
    337533{
    338         $travel_x_install_date = get_option('travel_x_install_date');
    339         if (empty($travel_x_install_date)) {
    340                 update_option('travel_x_install_date', current_time('mysql'));
     534        if (isset($_GET['xbnotice']) && $_GET['xbnotice'] == 1) {
     535                update_option('travel_x_pro_textinfo_v112', current_time('mysql'));
    341536        }
    342         if (isset($_GET['xbnotice']) && $_GET['xbnotice'] == 1) {
    343                 update_option('travel_x_info_text1_v2', current_time('mysql'));
     537        $install_date = get_option('travel_x_theme_install_date');
     538        if (empty($install_date)) {
     539                update_option('travel_x_theme_install_date', current_time('mysql'));
    344540        }
    345541}
    346542add_action('init', 'travel_x_new_optins_texts_init');
     543
  • travel-x/1.1.2/readme.txt

    r344072 r357506  
    33Contributors: nalam-1
    44Tags: two-columns, blog, portfolio, education, right-sidebar, custom-background, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready
    5 Requires PHP: 5.6
    6 Requires at least: 5.0
     5Requires PHP: 7.4
     6Requires at least: 6.0
    77Tested up to: 7.1
    8 Stable tag: 1.1.1
     8Stable tag: 1.1.2
    99License: GNU General Public License v2 or later
    10 License URI: http://opensource.org/licenses/gpl-2.0.php
     10License URI: https://www.gnu.org/licenses/gpl-2.0.html
    1111
    1212== Description ==
    … …  
    7373== Changelog ==
    7474
     75= 1.1.2 =
     76* Tested with latest WordPress version.
     77* Modernized Google Fonts to v2 API for superior performance.
     78* Optimized navigation menu fallback and header layout spacing.
     79
     80
    7581= 1.1.1 =
    7682* Added some style in blog card
  • travel-x/1.1.2/style.css

    r344072 r357506  
    44Author: Noor Alam
    55Author URI: https://wpthemespace.com/
    6 Version: 1.1.1
     6Version: 1.1.2
    77Tested up to: 7.1
    8 Requires PHP: 5.6
     8Requires PHP: 7.4
     9Requires at least: 6.0
    910Description: Travel Blog with Text and Video Content. Travel X is a Stunning Travel Blog WordPress Theme designed for travel bloggers who want to showcase their adventures with beautiful visuals and engaging content. Key Features: Progressive Web App (PWA) Support - Install the site as an app on any device with offline caching and fast loading. Touch-Friendly Swipe Gestures - Navigate image galleries and carousels with intuitive swipe controls on mobile devices. Enhanced Mobile Menu - Modern slide-out navigation panel with smooth CSS animations, overlay backdrop, submenu accordion, and swipe-to-close gesture. Accessibility Ready - WCAG compliant with semantic HTML, ARIA attributes, keyboard navigation, and screen reader support. Mobile-First Design - Optimized responsive layouts for all screen sizes with admin bar support. SEO Optimized - Clean code structure and proper heading hierarchy for better search engine visibility. The theme supports custom menus, featured images, custom backgrounds, and comes with a smart fallback menu system when no menu is assigned.
    1011License: GNU General Public License v2 or later
    11 License URI: http://opensource.org/licenses/gpl-2.0.php
     12License URI: https://www.gnu.org/licenses/gpl-2.0.html
    1213Text Domain: travel-x
    1314Tags: two-columns, blog, portfolio, education, right-sidebar, custom-background, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, accessibility-ready
    … …  
    138139    filter: brightness(1.15) saturate(1.1) !important;
    139140}
     141
     142/* ==========================================================================
     143   Header Logo & Navigation Spacing Rule (Collision Prevention)
     144   Ensures at least 30-40px gap between logo and menu so they never touch.
     145   ========================================================================== */
     146@media (min-width: 992px) {
     147  .menubar-content,
     148  .pxm-style1 .navigation .d-flex,
     149  .pxm-style2 .navigation .d-flex,
     150  .navigation .d-flex,
     151  .site-header .d-flex,
     152  .header-main-wrapper .d-flex,
     153  .resume-x-container.menu-inner,
     154  .travel-x-container.menu-inner {
     155    gap: 35px;
     156  }
     157
     158  .head-logo-sec,
     159  .pxms1-logo,
     160  .site-branding.brand-logo,
     161  .site-branding.brand-text,
     162  .menubar-content .head-logo-sec,
     163  .header-logo-wrap,
     164  .sm-logo {
     165    flex-shrink: 0;
     166    margin-right: 30px;
     167  }
     168
     169  .main-navigation,
     170  .pxms1-menu,
     171  .resume-x-container.menu-inner,
     172  .travel-x-container.menu-inner {
     173    min-width: 0;
     174  }
     175}
Note: See TracChangeset for help on using the changeset viewer.