
內容簡介
MHM Rentiva 是一款專為汽車和摩托車租賃業務設計的車輛租賃管理外掛。透過 WordPress 控制台,使用者可以管理車隊、可用性及預訂,並且前端付款由 WooCommerce 處理,提供完整的租賃管理解決方案。
【主要功能】
• 車輛管理:新增、編輯及管理車隊詳細屬性
• 預訂系統:日曆視圖、可用性檢查及自動計算價格
• WooCommerce 付款:支持多種付款閘道及離線付款
• 客戶管理:客戶記錄、預訂歷史及 CSV 匯出
• 電子郵件通知:可編輯的預訂確認及提醒模板
• 短代碼與 Gutenberg 區塊:多達 16 種前端功能
外掛標籤
開發者團隊
原文外掛簡介
MHM Rentiva is a vehicle rental management plugin for car and motorcycle rental businesses. You manage your fleet, availability and bookings from the WordPress admin; frontend payments are handled by WooCommerce, and administrators can also create and manage bookings manually.
Everything described below works in full. There are no vehicle, booking or listing caps, no feature timers, and no locked screens.
Features:
Vehicle Management: Add, edit and manage your fleet with detailed attributes (transmission, fuel type, seats, and your own custom features and equipment).
Booking System: Booking engine with calendar view, availability checking and automatic price calculation.
Payment via WooCommerce: Frontend payments go through WooCommerce, so you keep whatever payment gateways you already use. Native offline payment is supported for admin-created manual bookings.
Customer Management: Customer records, booking history, and CSV export of your customer list.
Email Notifications: Editable email templates for booking confirmations, cancellations, refunds and reminders.
Customer Account Pages: Bookings, favourites and payment history in the customer’s WooCommerce account area.
16 Shortcodes: (one of them, the customer dashboard, retired in 6.2.0 and now only points to My Account) Search, results, vehicle grids and lists, vehicle details, booking form, availability calendar, comparison, testimonials, ratings, contact form, and the customer account views.
16 Gutenberg Blocks: One for each frontend shortcode, built on a Render Parity architecture — a block, its Elementor widget and its shortcode all delegate to the same renderer, so they produce identical output.
17 Elementor Widgets: The same components as Elementor widgets, with Elementor’s own controls and live preview. (Two of the seventeen — Vehicle Card and Vehicles List — render the same underlying component with different presets, so the seventeen widgets cover sixteen distinct components.)
REST API: Endpoints under mhm-rentiva/v1 for availability checks, customer records and admin dashboard data.
Translation Ready: Ships with a full Turkish translation.
Requirements: WooCommerce. It is declared in the plugin header and checked on activation, so the plugin will not activate without it. WooCommerce provides the cart, checkout and payment gateways used for frontend bookings.
External services
This plugin does not send your data anywhere. It makes no requests to any third-party service: no analytics, no geolocation lookups, no remotely-hosted fonts or scripts. Every asset it loads, including its webfont, is served from your own site. Nothing about your site, your bookings or your customers leaves your server.
For completeness, the plugin’s admin screens do contain ordinary hyperlinks to pages outside your site, which open only if you click them and send nothing when you do:
Its documentation at https://maxhandmade.github.io/mhm-rentiva-docs/ (source: https://github.com/MaxHandMade/mhm-rentiva-docs)
Its issue tracker at https://github.com/MaxHandMade/mhm-rentiva/issues, linked from the About screen
The author’s site and support page at https://wpalemi.com/ — terms: https://wpalemi.com/terms/ , privacy policy: https://wpalemi.com/privacy/
This plugin’s own support forum at https://wordpress.org/support/plugin/mhm-rentiva/ and, in the setup wizard’s e-mail step, links to the wp-mail-smtp and fluent-smtp plugin pages on WordPress.org
The author’s YouTube channel
These are links, not integrations: the plugin performs no HTTP request to any of them. A check in our build guards against reintroducing the specific third-party services earlier versions used — geolocation lookups, CDN-hosted fonts and scripts, analytics and Gravatar — by failing if any of those hosts reappears in the PHP we ship.
Privacy
MHM Rentiva stores its booking and customer records (such as names, e-mail addresses and phone numbers) locally in your WordPress database and does not transmit them anywhere.
Four other things it keeps are worth naming; three of them record an IP address, which in most jurisdictions counts as personal data in its own right.
If you publish the plugin’s contact form, each submission is saved as a private record holding the sender’s name, e-mail address, telephone number, company, the message itself, any file they attached, and the IP address and browser user-agent it was sent from. The record also keeps the rest of what the form submitted: which vehicle the enquiry was about, a preferred date, a priority, a rating, and which variant of the form was used. These records have no retention setting and are never removed automatically; you read and delete them yourself under MHM Rentiva → Contact Messages. Files attached to a contact message are stored in a plugin-owned folder inside your uploads directory (wp-content/uploads/mhm-rentiva-private/contact/) under a random name with no file extension. They are not encrypted. On Apache the folder ships with an .htaccess that denies direct access; on nginx you must add a location ^~ /wp-content/uploads/mhm-rentiva-private/ { deny all; } rule yourself, otherwise the only protection is the unguessable name and the folder’s empty index page. If you use a plugin that copies every upload to external storage (a CDN or cloud offload plugin), exclude the mhm-rentiva-private folder in its settings, or it may copy these files as well — or, if it moves files away from your server, contact attachments may fail to upload. The file is deleted when the message is permanently deleted, and when the plugin is deleted with its “Wipe all data on uninstall” setting turned on. On a multisite network that wipe covers the main site only: delete the other sites’ mhm-rentiva-private/contact/ folders by hand. A copy is also sent as an attachment of the notification e-mail, which this plugin does not control once sent. Attachments saved by earlier versions were public files in the normal uploads folder; updating moves those it can positively identify into the private folder and lists the rest in an admin notice.
If you publish the plugin’s rating form, each review is stored as an ordinary WordPress comment, so WordPress itself records the reviewer’s IP address and browser user-agent alongside it, exactly as it does for any comment — and for a review left by someone who is not logged in, the name and e-mail address they typed. Those guest reviews are reachable through Tools → Export/Erase Personal Data, which matches comments by e-mail address. From version 6.0.1, a review left by a logged-in customer is saved the same way WordPress saves any comment from a signed-in visitor: against their user ID, and with the display name, e-mail address and website address from their profile written onto the comment. Those reviews are matched by the same Export/Erase tools, on the account’s e-mail address. Reviews that logged-in customers left in earlier versions carry no name and no e-mail address on the comment, and updating does not fill them in, so the Export/Erase tools — which look comments up by e-mail address — do not return those older ones; remove them from the Comments screen instead.
The activity log records, for each entry, the IP address and browser user-agent of the request that produced it, along with the WordPress user ID where there is one. Unlike contact messages, log entries are deleted automatically after a retention period you set in the plugin’s settings (30 days by default).
The e-mail log records, for each message sent through the plugin’s notification system, the recipient address, the subject, whether delivery succeeded, and the booking details the message was built from — which for a booking e-mail means the customer’s name, contact details and rental dates. The assembled message body itself is not stored. This log has its own retention setting on the same terms (also 30 days by default).
Booking records themselves do not store an IP address: no code path in this version writes one, whether the booking comes through WooCommerce checkout or an administrator enters it by hand. Records created by older versions may still carry an IP address and user-agent; where they exist they have no expiry and go only when the booking is permanently deleted.
If you keep a privacy policy, these are the parts of the plugin it should describe.
The plugin registers no personal-data exporter or eraser. Contact-form submissions are not covered by Tools → Export/Erase Personal Data: search for them by e-mail address under MHM Rentiva → Contact Messages and delete them there.
A paid version exists
A separate paid Rentiva plugin adds a multi-vendor marketplace, VIP transfers with location-based routes, customer messaging, advanced reports and vendor payouts. It is a separate add-on plugin. Nothing described on this page is withheld or limited to promote it, and this plugin never advertises it to you in the admin.
Source code
Most of this plugin is plain, human-readable PHP with no build step.
Five admin screens (Dashboard, Customers, Contact Messages, About and Shortcode Pages) are built in React. Their compiled bundles ship in build/admin/. They are generated from un-minified React sources that are NOT part of this ZIP: those live in the public GitHub repository linked below, under src-react/, next to the build tooling. What does ship under src-react/ is plain CSS: the five screens’ stylesheets and the shared admin stylesheet (src-react/shared/admin.css) that the vehicle, booking and add-on list screens load directly. No obfuscated code is bundled.
The build tooling itself (package.json, webpack.config.js) is not included in this plugin’s ZIP — it lives only in the public GitHub repository, alongside the same src-react/ sources:
https://github.com/MaxHandMade/mhm-rentiva
To rebuild the admin bundles from source, clone or download that repository and run the following from the repository root:
npm install
npm run build
The build uses @wordpress/scripts (webpack). Run npm start instead of npm run build for a watched development build.
Bundled third-party libraries
Three bundled JavaScript libraries and one webfont ship with the plugin — two of the libraries on the front end, one in the admin dashboard only — all permissively licensed and with public upstream source.
Two are pre-built (minified) under assets/vendor/:
flatpickr v4.6.13 — date picker, MIT License. Source: https://github.com/flatpickr/flatpickr
Swiper 14.1.0 — touch slider, MIT License. Source: https://github.com/nolimits4web/swiper
One is compiled into the admin dashboard bundle (build/admin/dashboard.js) by the build described above, and is declared as a dependency in package.json:
Chart.js v4.5.1 — dashboard charts, MIT License. Source: https://github.com/chartjs/Chart.js
One webfont is bundled under assets/vendor/fonts/, served from your own site rather than from a font CDN:
Plus Jakarta Sans — SIL Open Font License 1.1, with the license text shipped alongside it at assets/vendor/fonts/LICENSE-Plus-Jakarta-Sans.txt. Source: https://github.com/tokotype/PlusJakartaSans
None of these libraries is modified from its upstream release; their full source is public on the repositories linked above.
