diff --git a/viator-collector.zip b/viator-collector.zip index 5085c0c..3447623 100644 Binary files a/viator-collector.zip and b/viator-collector.zip differ diff --git a/viator-collector/includes/class-vc-menu.php b/viator-collector/includes/class-vc-menu.php index 6eb3023..064607f 100644 --- a/viator-collector/includes/class-vc-menu.php +++ b/viator-collector/includes/class-vc-menu.php @@ -17,12 +17,29 @@ class VC_Menu { if ( empty( $args->theme_location ) || self::LOCATION !== $args->theme_location ) { return $items; } - $order = count( $items ); $extra = self::items(); - foreach ( $extra as $item ) { - $item->menu_order = ++$order; + if ( ! $extra ) { + return $items; } - return array_merge( $items, $extra ); + + // Regions go right after the top-level link to the tours archive ("All + // Tours"); without one, at the end. The walker renders top-level items + // in array order. + $items = array_values( $items ); + $position = count( $items ); + $archive = untrailingslashit( (string) get_post_type_archive_link( 'viator_tour' ) ); + foreach ( $items as $i => $item ) { + if ( empty( $item->menu_item_parent ) && '' !== $archive && untrailingslashit( (string) $item->url ) === $archive ) { + $position = $i + 1; + break; + } + } + array_splice( $items, $position, 0, $extra ); + + foreach ( $items as $i => $item ) { + $item->menu_order = $i + 1; + } + return $items; } /** diff --git a/viator-collector/templates/region.php b/viator-collector/templates/region.php index 7ef1e5a..c33ceaa 100644 --- a/viator-collector/templates/region.php +++ b/viator-collector/templates/region.php @@ -31,19 +31,45 @@ $vc_after_hero = ''; if ( $vc_cities ) { ob_start(); ?> -
-
-
+ +
+
+
-

-
-
- $vc_city ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped - } - ?> +

+
+
+ + +
+
+