From de9814cf3d3fc1255f560db033a7f0fad11f0bb9 Mon Sep 17 00:00:00 2001 From: Amir Bagheri Date: Thu, 29 Oct 2026 21:01:13 +0330 Subject: [PATCH] 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 --- astra-child-hoponhopoff.zip | Bin 1006175 -> 1006782 bytes astra-child-hoponhopoff/functions.php | 4 +- astra-child-hoponhopoff/inc/footer.php | 45 ++++- astra-child-hoponhopoff/style.css | 2 +- viator-collector.zip | Bin 182640 -> 185641 bytes viator-collector/assets/css/vc-tour.css | 175 ++++++++++++++++++ viator-collector/assets/js/vc-design.js | 3 + .../includes/class-vc-display.php | 14 +- viator-collector/includes/class-vc-plugin.php | 1 + viator-collector/includes/class-vc-tags.php | 41 ++++ viator-collector/templates/listing.php | 2 +- .../templates/single-viator_tour.php | 104 ++++++----- viator-collector/tests/run.php | 1 + viator-collector/tests/test-tags.php | 28 +++ viator-collector/viator-collector.php | 4 +- 15 files changed, 367 insertions(+), 57 deletions(-) create mode 100644 viator-collector/assets/css/vc-tour.css create mode 100644 viator-collector/includes/class-vc-tags.php create mode 100644 viator-collector/tests/test-tags.php diff --git a/astra-child-hoponhopoff.zip b/astra-child-hoponhopoff.zip index 64a1e9c772de1cba3d9a56f4fb826a57333bc436..fb0bdd2aa991257e6011e17616e88e3a33ba07d1 100644 GIT binary patch delta 5478 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 UOYpost_status ) { + return array( $label, get_permalink( $p ) ); + } + } + return null; + }; + $links = array(); + if ( 'hoho_quick' === $location ) { + $links[] = array( __( 'Home', 'hoponhopoff' ), home_url( '/' ) ); + if ( get_post_type_archive_link( 'viator_tour' ) ) { + $links[] = array( __( 'All Tours', 'hoponhopoff' ), get_post_type_archive_link( 'viator_tour' ) ); + } + $links[] = get_option( 'page_for_posts' ) ? array( __( 'Blog', 'hoponhopoff' ), get_permalink( get_option( 'page_for_posts' ) ) ) : $page( array( 'blogs', 'blog' ), __( 'Blog', 'hoponhopoff' ) ); + } elseif ( 'hoho_tours' === $location && class_exists( 'VC_Structure' ) ) { + // The first cities from Settings → Viator Structure. + foreach ( array_slice( VC_Structure::cities( VC_Structure::get() ), 0, 6 ) as $city ) { + $links[] = array( $city['name'], home_url( '/' . $city['slug'] . '/' ) ); + } + } elseif ( 'hoho_account' === $location ) { + $links[] = $page( array( 'contact-us', 'contact' ), __( 'Contact Us', 'hoponhopoff' ) ); + $links[] = $page( array( 'about-us', 'about' ), __( 'About Us', 'hoponhopoff' ) ); + $links[] = $page( array( 'faq', 'faqs' ), __( 'FAQ', 'hoponhopoff' ) ); + } + $links = array_filter( $links ); + if ( ! $links ) { + return; + } + echo ''; +}; + +$hoho_footer_col = function ( $location ) use ( $hoho_footer_defaults ) { if ( ! has_nav_menu( $location ) ) { + $hoho_footer_defaults( $location ); return; } wp_nav_menu( diff --git a/astra-child-hoponhopoff/style.css b/astra-child-hoponhopoff/style.css index 339bf8b..758727c 100644 --- a/astra-child-hoponhopoff/style.css +++ b/astra-child-hoponhopoff/style.css @@ -4,7 +4,7 @@ Theme URI: https://git.kaamyab.dev/vargha/TourWebsite Description: Astra child theme that replaces the Astra header and footer with the "Hop On Hop Off" design. Pairs with the Viator Collector plugin. Author: Amir Bagheri Template: astra -Version: 1.0.12 +Version: 1.0.13 Text Domain: hoponhopoff */ diff --git a/viator-collector.zip b/viator-collector.zip index ec4d8765842827ce72f195179873ea53bc6ac1c8..2568b6e8afa02eb52756f34b4c2ef68030f0b7e6 100644 GIT binary patch delta 22335 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 X$Lct^ziMw`&bydco$bc#I{^I;0kpldv@hlgLUC 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 ) { return; } @@ -346,7 +352,9 @@ class VC_Display { */ public static function build_query_vars( array $base_tax = array() ) { $f = self::get_filter_state(); - $vars = array( 'posts_per_page' => 12, 'ignore_sticky_posts' => true ); + // posts_per_archive_page too: when set (Settings or another plugin), WP_Query + // uses it instead of posts_per_page on archives. + $vars = array( 'posts_per_page' => 12, 'posts_per_archive_page' => 12, 'ignore_sticky_posts' => true ); if ( '' !== $f['q'] ) { $vars['s'] = $f['q']; @@ -741,7 +749,7 @@ class VC_Display { 'viator_browse_activities' ); - $terms = self::get_section_terms( 'viator_tag', $atts['count'], $atts['ids'] ); + $terms = VC_Tags::public_terms( self::get_section_terms( 'viator_tag', $atts['count'], $atts['ids'] ) ); if ( empty( $terms ) ) { return ''; } diff --git a/viator-collector/includes/class-vc-plugin.php b/viator-collector/includes/class-vc-plugin.php index 388d6cd..c630ee1 100644 --- a/viator-collector/includes/class-vc-plugin.php +++ b/viator-collector/includes/class-vc-plugin.php @@ -34,6 +34,7 @@ final class VC_Plugin { 'includes/class-vc-cpt.php', 'includes/class-vc-taxonomies.php', 'includes/class-vc-structure.php', + 'includes/class-vc-tags.php', 'includes/class-vc-api.php', 'includes/class-vc-importer.php', 'includes/class-vc-cron.php', diff --git a/viator-collector/includes/class-vc-tags.php b/viator-collector/includes/class-vc-tags.php new file mode 100644 index 0000000..c3fdb97 --- /dev/null +++ b/viator-collector/includes/class-vc-tags.php @@ -0,0 +1,41 @@ +name ); + } + ) + ); + } +} diff --git a/viator-collector/templates/listing.php b/viator-collector/templates/listing.php index 90e4c94..d34bdbc 100644 --- a/viator-collector/templates/listing.php +++ b/viator-collector/templates/listing.php @@ -36,7 +36,7 @@ if ( is_wp_error( $vc_action ) || ! $vc_action ) { $vc_destinations = get_terms( array( 'taxonomy' => 'viator_destination', 'hide_empty' => true, 'number' => 20, 'orderby' => 'count', 'order' => 'DESC' ) ); $vc_categories = get_terms( array( 'taxonomy' => 'viator_tag', 'hide_empty' => true, 'number' => 20, 'orderby' => 'count', 'order' => 'DESC' ) ); $vc_destinations = is_wp_error( $vc_destinations ) ? array() : $vc_destinations; -$vc_categories = is_wp_error( $vc_categories ) ? array() : $vc_categories; +$vc_categories = is_wp_error( $vc_categories ) ? array() : VC_Tags::public_terms( $vc_categories ); $vc_total = (int) $vc_query->found_posts; $vc_per = 12; diff --git a/viator-collector/templates/single-viator_tour.php b/viator-collector/templates/single-viator_tour.php index 7aa9f6e..93f8c25 100644 --- a/viator-collector/templates/single-viator_tour.php +++ b/viator-collector/templates/single-viator_tour.php @@ -25,7 +25,7 @@ while ( have_posts() ) : $dest_terms = get_the_terms( $post_id, 'viator_destination' ); $dest_names = ( $dest_terms && ! is_wp_error( $dest_terms ) ) ? wp_list_pluck( $dest_terms, 'name' ) : array(); $cat_terms = get_the_terms( $post_id, 'viator_tag' ); - $cat_names = ( $cat_terms && ! is_wp_error( $cat_terms ) ) ? array_slice( wp_list_pluck( $cat_terms, 'name' ), 0, 2 ) : array(); + $cat_names = ( $cat_terms && ! is_wp_error( $cat_terms ) ) ? array_slice( wp_list_pluck( VC_Tags::public_terms( $cat_terms ), 'name' ), 0, 2 ) : array(); $gallery = vc_json_decode_meta( get_post_meta( $post_id, '_vc_gallery_image_urls', true ), array() ); $gallery = array_values( array_filter( (array) $gallery ) ); @@ -33,48 +33,62 @@ while ( have_posts() ) : if ( ! $primary && ! empty( $gallery ) ) { $primary = $gallery[0]; } - $more = array_slice( array_values( array_diff( $gallery, array( $primary ) ) ), 0, 5 ); - $big_word = ! empty( $dest_names ) ? $dest_names[0] : get_the_title(); + // The featured image (sharp, full size) leads the gallery when set; + // Viator's own photos follow. + $lead = has_post_thumbnail( $post_id ) ? (string) get_the_post_thumbnail_url( $post_id, 'large' ) : $primary; + $all = array_values( array_unique( array_filter( array_merge( array( $lead, $primary ), $gallery ) ) ) ); + + // Breadcrumb: Home › Region › City › Tour (the tour's canonical city). + $crumbs = array( array( __( 'Home', 'viator-collector' ), home_url( '/' ) ) ); + $city_slug = class_exists( 'VC_Routing' ) ? VC_Routing::product_city( $post_id ) : ''; + $city = $city_slug ? get_term_by( 'slug', $city_slug, 'viator_destination' ) : null; + if ( ! $city && $dest_terms && ! is_wp_error( $dest_terms ) ) { + $city = $dest_terms[0]; + } + if ( $city && $city->parent ) { + $region = get_term( $city->parent, 'viator_destination' ); + if ( $region instanceof WP_Term && ! is_wp_error( get_term_link( $region ) ) ) { + $crumbs[] = array( $region->name, get_term_link( $region ) ); + } + } + if ( $city && ! is_wp_error( get_term_link( $city ) ) ) { + $crumbs[] = array( $city->name, get_term_link( $city ) ); + } + + $book_href = $booking_url ? $booking_url : '#'; + $book_attrs = $booking_url ? ' target="_blank" rel="nofollow noopener"' : ''; ?>
-
- 'hero-tour__photo', 'fetchpriority' => 'high', 'alt' => '', 'sizes' => '100vw' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped - elseif ( $primary ) : - ?> - - - +
-
-

-
-

- 'hero-tour__figure', 'loading' => 'eager', 'alt' => '' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped - } - ?> -
-
+
-
- -
+ + + + +
-

+

- /5 + /5 () @@ -109,18 +123,6 @@ while ( have_posts() ) :
- -
-

- -
- -

- > + >
@@ -262,6 +264,14 @@ while ( have_posts() ) :
+ + +
+ +

+ + > +
'Agent Low Quality Product' ), + (object) array( 'name' => 'Audio Guides' ), + (object) array( 'name' => 'Bus Tours' ), + ); + vc_assert_same( array( 'Audio Guides', 'Bus Tours' ), array_column( VC_Tags::public_terms( $terms ), 'name' ) ); +} diff --git a/viator-collector/viator-collector.php b/viator-collector/viator-collector.php index 7702d66..b3154ec 100644 --- a/viator-collector/viator-collector.php +++ b/viator-collector/viator-collector.php @@ -4,13 +4,13 @@ defined('ABSPATH') || exit; /** * Plugin Name: Viator Collector * Description: Import Viator tours using the Viator Partner API and display them with native WordPress post types, templates, and shortcodes. - * Version: 1.9.4 + * Version: 1.9.5 * Author: Amir Bagheri * License: GPL-2.0-or-later * Text Domain: viator-collector */ -define('VC_VERSION', '1.9.4'); +define('VC_VERSION', '1.9.5'); define('VC_PLUGIN_FILE', __FILE__); define('VC_PLUGIN_DIR', plugin_dir_path(__FILE__)); define('VC_PLUGIN_URL', plugin_dir_url(__FILE__));