Rentiva v4.33.1 — Search Polish & Vendor Name Fix
A focused patch bundling three fixes around vehicle admin and the Featured Vehicles surface — the Lifecycle meta box now identifies the vendor by name, the Featured Vehicles slider stops flickering on short lists, and Featured Vehicles gains a "View All" link in parity with Vehicles Grid.
Why this release exists
Three small frictions had been piling up:
- The Lifecycle meta box on the vehicle edit screen rendered the vendor's reliability score (e.g. Vendor Score: 100/100 — Excellent) without saying which vendor the score belonged to. Admins had to cross-reference the users list to find out.
- The Featured Vehicles slider used Swiper's
loop: trueunconditionally. On short lists (slide count ≤ columns × 2) Swiper's loop algorithm doesn't have enough duplicate slides to cycle, and the slider rotates through blank frames. - Vehicles Grid had a View All link below the grid (
view_all_url/view_all_textattributes); Featured Vehicles did not. Two shortcodes that should behave consistently were not.
This release fixes all three.
Changes
Fixed: Lifecycle meta box now identifies the vendor by name
src/Admin/Vehicle/Meta/LifecycleMetaBox.php now resolves the vendor from $post->post_author and renders a Vendor: row above the reliability score:
Status: Active
Started: 30 Mar 2026
Expires: 28 Jun 2026 (60 days)
────────────────────────
Vendor: Acme Filo Kiralama
Vendor Score: 100/100 — Excellent
Resolution chain: $user->display_name → $user->user_login (fallback when display name is empty). The vendor row is never blank for a non-zero post_author.
Fixed: Featured Vehicles slider stops flickering on short lists
assets/js/frontend/featured-vehicles.js now counts .swiper-slide elements on the page before initializing Swiper, and only enables loop: true when there are more slides than columns × 2:
const slideCount = container.find('.swiper-slide').length;
const enableLoop = slideCount > columns * 2;
new Swiper(container[0], {
loop: enableLoop,
// ...
});
Few slides = plain swipe (no loop, no flicker). Many slides = infinite loop (the original behavior). Automatic; no user-facing setting.
Added: view_all_url and view_all_text for Featured Vehicles
Parity with Vehicles Grid. Three surfaces:
Shortcode:
[rentiva_featured_vehicles limit="6" view_all_url="/vehicles/" view_all_text="See All Cars"]
Elementor widget: Two new fields in the Carousel Options panel (View All URL and View All Button Text).
Gutenberg block: Two new TextControls in Inspector Controls (visible after a URL is entered).
The link renders in the template footer when view_all_url is non-empty. Default text is "View All Vehicles" (translatable).
Tests
- 822 → 824 PHPUnit (+2:
lifecycle_meta_box_renders_vendor_display_name,lifecycle_meta_box_falls_back_to_user_login_when_display_name_is_empty) FeaturedVehiclesDefaultsParityTestextended with two new mappings (view_all_url,view_all_text)- PHPCS: 0 errors across the six changed files
- i18n: 2 new strings (Vendor:, Adds a "View All" link below the carousel...) with Turkish translations; existing View All Vehicles / View All URL / View All Button Text translations reused from Vehicles Grid via
msgmerge(fuzzy=0)
Compatibility
No license-server upgrade required. Drop-in replacement for v4.33.0.
