Changeset 357506
- Timestamp:
- 11/06/2026 01:31:13 AM (3 hours ago)
- Location:
- travel-x/1.1.2
- Files:
-
- 6 edited
- 1 copied
-
. (copied) (copied from travel-x/1.1.1 )
-
actions/header-actions.php (modified) (2 diffs)
-
assets/css/main.css (modified) (1 diff)
-
functions.php (modified) (2 diffs)
-
inc/about/about.php (modified) (4 diffs)
-
readme.txt (modified) (2 diffs)
-
style.css (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
travel-x/1.1.2/actions/header-actions.php
r309512 r357506 104 104 'menu_id' => 'travel-x-menu', 105 105 'menu_class' => 'travel-x-menu', 106 'fallback_cb' => 'travel_x_menu_fallback', 106 107 )); 107 108 ?> … … 145 146 'menu_class' => 'wsm-menu', 146 147 'container' => false, 147 )); 148 'fallback_cb' => 'travel_x_menu_fallback', 149 )); 148 150 } else { 149 151 // Fallback menu when no menu is assigned - Home + 5 pages = 6 items total -
travel-x/1.1.2/assets/css/main.css
r344072 r357506 1250 1250 } 1251 1251 } 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 164 164 165 165 $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'; 170 169 171 170 $query_args = array( 172 'family' => urlencode(implode('|', $font_families)),173 ' subset' => urlencode('latin,latin-ext'),171 'family' => implode('&family=', $font_families), 172 'display' => 'swap', 174 173 ); 175 174 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'); 178 176 179 177 return esc_url_raw($fonts_url); … … 302 300 } 303 301 add_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 */ 311 function 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 286 286 * Pro notice text with enhanced sales copy 287 287 */ 288 289 /** 290 * Pro notice text (Modern SaaS Card Design) 291 */ 288 292 function travel_x_pnotice_output() 289 293 { 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/'); 290 297 $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');292 298 ?> 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> 298 484 </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> 302 497 </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> 312 507 </div> 313 508 </div> … … 316 511 } 317 512 318 // Admin notice513 // Admin notice display 319 514 function travel_x_new_optins_texts() 320 515 { 321 $hide_date = get_option('travel_x_ info_text1_v2');516 $hide_date = get_option('travel_x_pro_textinfo_v112'); 322 517 if (!empty($hide_date)) { 323 518 $clickhide = round((time() - strtotime($hide_date)) / 24 / 60 / 60); … … 326 521 } 327 522 } 523 328 524 ?> 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;"> 330 526 <?php travel_x_pnotice_output(); ?> 331 527 </div> … … 336 532 function travel_x_new_optins_texts_init() 337 533 { 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')); 341 536 } 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')); 344 540 } 345 541 } 346 542 add_action('init', 'travel_x_new_optins_texts_init'); 543 -
travel-x/1.1.2/readme.txt
r344072 r357506 3 3 Contributors: nalam-1 4 4 Tags: 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.66 Requires at least: 5.05 Requires PHP: 7.4 6 Requires at least: 6.0 7 7 Tested up to: 7.1 8 Stable tag: 1.1. 18 Stable tag: 1.1.2 9 9 License: GNU General Public License v2 or later 10 License URI: http ://opensource.org/licenses/gpl-2.0.php10 License URI: https://www.gnu.org/licenses/gpl-2.0.html 11 11 12 12 == Description == … … 73 73 == Changelog == 74 74 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 75 81 = 1.1.1 = 76 82 * Added some style in blog card -
travel-x/1.1.2/style.css
r344072 r357506 4 4 Author: Noor Alam 5 5 Author URI: https://wpthemespace.com/ 6 Version: 1.1. 16 Version: 1.1.2 7 7 Tested up to: 7.1 8 Requires PHP: 5.6 8 Requires PHP: 7.4 9 Requires at least: 6.0 9 10 Description: 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. 10 11 License: GNU General Public License v2 or later 11 License URI: http ://opensource.org/licenses/gpl-2.0.php12 License URI: https://www.gnu.org/licenses/gpl-2.0.html 12 13 Text Domain: travel-x 13 14 Tags: 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 … … 138 139 filter: brightness(1.15) saturate(1.1) !important; 139 140 } 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.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)