Commit Graph

20 Commits

Author SHA1 Message Date
2ded000a27 feat: city guide on city pages (tagline, facts, About, seasons)
Editable per city under Viator tours > Destinations. Shown above the
tours on page 1 of an unfiltered listing only; filtering and paging jump
to the results. Text recovered from the six old /tour-destination/ pages
is imported once into empty guides.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 09:58:54 +03:30
466ea0ac5f feat: one breadcrumb, same place and style on every inner page
- Plugin: vc_breadcrumb_trail()/vc_breadcrumb_html(); tours, region, city
  and tag pages show Home / (Region) / Page in the banner instead of the
  generic 'Tour & Travel' label; the tour page uses the same helper
- Theme: blog list shows Home / Blog; blog post title, breadcrumb and
  meta move into the banner like the other pages
- Shared style: title's colour (white in photo banners, black on About),
  softer links, current page bold and shortened if long - also on phones
- Plugin 1.9.6, theme 1.0.16

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:32:09 +03:30
de9814cf3d feat: tour page photos-first layout, mobile booking bar; board 1 fixes
Tour page (boards 2 and 3):
- Replace the blurred 'Welcome to {city}' hero with a breadcrumb and a photo
  gallery (1 large + 2, 'All N photos' opens the lightbox); the H1 title,
  rating with review count and facts follow; booking card stays sticky
- Phones/tablets: swipeable photos, name before price, 2x2 facts, and a
  fixed bottom bar with price + Check availability (vc-tour.css)

Board 1:
- Hide Viator internal tags ('Agent Low Quality Product'...) from the tour
  category, listing filter and activities section (VC_Tags, tested)
- Listings: run the query filter late and set posts_per_archive_page so
  pages show 12 tours as the count says
- Footer columns without a menu show default links (quick links, structure
  cities, contact/about/faq) instead of empty headings

Plugin 1.9.5, theme 1.0.13.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:01:13 +03:30
2f1ecd99b4 feat: page banners use the page's Featured Image when set
- Theme design pages (About, Contact, FAQ, blog list) use the page's Featured
  Image (Posts page for the blog) and fall back to the design photo; no teal
  tint over a custom image
- Plugin hero (homepage [viator_hero], [viator_listing] pages) prefers the
  hosting page's Featured Image over the Settings hero image
- Theme 1.0.12, plugin 1.9.4

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 20:38:42 +03:30
fd6dba3203 fix: destination cards show a tour photo again
vc_term_image_url() cached empty results for 12h and relied on an SQL
meta comparison to find a tour with a photo; destination cards site-wide
(homepage and region pages) were blank. Read the photo in PHP from up to
10 tours (primary, else first gallery image), use a fresh cache key, and
expire empty results after an hour. Plugin 1.9.3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 16:47:01 +03:30
d0c48e0e8e fix: styled city cards on region pages; regions follow All Tours in the menu
- Region page city list uses the design's destination rail (dcard) instead of
  the unstyled pre-reskin card template
- Header menu: structure regions are inserted after the top-level link to the
  tours archive instead of at the end
- Plugin 1.9.2

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 16:27:31 +03:30
f58ed49d07 feat(theme): About, Contact, FAQ, blog list and post pages from new front
- Route pages by address to theme templates (about-us, contact-us, faq, blogs, posts)
- Scoped design CSS (pages.css) + Astra/WordPress fixes (pages-wp.css), page JS
- Contact form emails the new Settings -> Viator Collector -> Contact email
  (fallback: admin email), Reply-To the visitor, honeypot spam trap
- Blog list shows real posts with search, sort and paging; posts use the
  article design with comments as reviews and related articles
- Design images converted to WebP (~15MB PNG -> ~1MB)
- Theme 1.0.10, plugin 1.9.1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 16:20:11 +03:30
930b7e0534 fix: paginated region/city pages, no routes before first save, safer structure save
- Add /{slug}/page/N/ rules and keep the page number through 301s
- Route only regions synced to a term, so unsaved presets never claim /europe/ etc.
- Flush rewrites on the request after activation so structure routes survive
- Suggest the existing term slug for new cities (keeps live /tour-destination/ URLs)
- Refuse saves without the editor sentinel; confirm before saving an empty structure
- Show term-sync failures to the admin instead of reporting success

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 15:33:01 +03:30
c73189f2db feat(menu): list regions and cities in the header menu
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 15:24:15 +03:30
f6153376f9 feat(display): region landing page with city grid
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 15:23:40 +03:30
8b70ae9104 feat(routing): region/city/product URLs with 301s from old paths
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 15:22:59 +03:30
9c707b7075 feat(structure): admin screen with validated save and term sync
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 15:22:26 +03:30
02b6ce0ff4 feat(import): store primary destination; crawl configured cities
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 15:20:29 +03:30
614ea98825 feat(structure): add region/city structure model with validation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 15:19:49 +03:30
d5686ed14b feat: Enhance gallery functionality with lightbox feature and improve icon sprite accessibility
- Added a lightbox feature for gallery images, allowing users to view photos in a modal with navigation controls.
- Updated the SVG sprite to include inline styles for better accessibility.
- Increased CSS specificity by doubling the `.vc-app` class to ensure styles override Astra theme defaults.
- Introduced new shortcodes for bus tours, about section, and articles in the VC_Sections class.
- Improved the handling of featured images in the single tour template for sharper display.
- Updated version number to 1.8.15.
2026-09-23 17:26:56 +03:30
b0e302be15 perf: make the tours archive query index-only by default
The archive attached an always-on _vc_featured NOT EXISTS join and a
_vc_review_count join (plus SQL_CALC_FOUND_ROWS) to every request, which made
/tours/ crawl/time out over a ~70k-tour catalogue. Default sort now orders by
post date with no postmeta joins; price/rating sorts add a single meta_key join
on demand; meta_query is only attached when a filter is active. Bump 1.8.4.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4hNL1PSHxXbu94SCenpKj
2026-09-16 07:48:11 +03:30
911d2b4d2e fix: card/link colors, title clamp, header icon color; clean distributable zips
- links inherit design colour (Astra was recolouring card titles, destination
  names, header search icon → dark/invisible); buttons keep their colour
- clamp long tour titles + titem descriptions to 2 lines; meta values no-wrap
- theme: reset icon-btn background/colour so header icons show (white)
- add build-zip.php; zips now exclude docs/, build/, *.md, .claude (no
  doc/guidance/AI-revealing files shipped)
- bump plugin 1.8.3, theme 1.0.2

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4hNL1PSHxXbu94SCenpKj
2026-09-15 22:46:34 +03:30
35368fb5f9 perf/fix: externalize images to WP media; normalize Astra leaks; full-width
Plugin (1.8.2):
- remove all bundled raster images (~9.3MB) from assets/img; hero + single
  hero figure now come from the WP Media Library (Settings), shortcode args
  ([viator_hero image_id]), or the vc_testimonials filter — rendered responsive
- vc_hero_image_source() prefers an attachment ID (srcset); listing/hero use it
- settings: store hero_image_id + single_hero_figure_id (media pickers)
- enqueue at priority 20 + depend on astra-theme-css so our CSS wins ties
- stronger Astra overrides (!important): kill page-builder article top padding
  (gap above hero), force full-bleed containers, guard horizontal scroll
- normalize theme leaks inside .vc-app: no link underline, no list bullets
  (with prose exceptions for the tour Overview); gradient hero fallback

Theme: normalize .hoho link/list leaks; rebuild installable ZIP.
Also: move optimized originals to /removed-images/; ship viator-collector.zip.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4hNL1PSHxXbu94SCenpKj
2026-09-15 19:42:49 +03:30
67c88c795b fix: Astra style conflicts, full-width, responsive hero images, header search
Plugin (viator-collector 1.8.1):
- is_vc_page() now matches any Viator shortcode, so shortcode Pages (home)
  get the full-width no-sidebar canvas
- load vc-design.css after Astra + inline overrides: strip Astra page-builder
  article padding (removes extra gap above hero), full-bleed containers,
  enforce design font inside .vc-app
- vc_hero_img_html(): render hero from the WP media library with responsive
  srcset when the image is an attachment; used in listing + [viator_hero]
  ([viator_hero image_id=".."])

Theme (astra child):
- remove the user/profile header item
- working header search (expands, submits to the tours archive ?vc_q=)
- load chrome.css after Astra + enforce design font inside .hoho
- rebuild installable ZIP

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4hNL1PSHxXbu94SCenpKj
2026-09-15 17:32:07 +03:30
7ada8860f8 Add viator-collector plugin (Hop On Hop Off front-end reskin)
Consolidate the plugin into the TourWebsite repository (its separate
nested git repo has been removed). Includes the full new-design reskin:
scoped design stylesheet, SVG icon sprite, rebuilt listing/single/section
templates, and homepage hero/FAQ/testimonials shortcodes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4hNL1PSHxXbu94SCenpKj
2026-09-12 21:11:20 +03:30