Manage and market a dealership inventory
- Supports automobiles, motorcycles, ATVs, RVs, and boats
- Manage multiple lot locations and maintain separate phone numbers & hours for each
- VIN-decoding add-on available
- Categorizes inventory by type, body style, fuel, transmission, drive type, availability, new or used, location, and more
- Includes blocks, shortcodes, and widgets including vehicle sliders and inventory grids
Integrates with other plugins
- Import any CSV file with WP All Import
- Contact Form 7 form tag adds vehicles to lead emails
- Elementor Dynamic Tags add-on available
Built the right way and developer-friendly
- Custom post type
inventory_vehicle enables vehicle data imports
- Editor sidebar integrates custom fields into the block editor
- Adds columns to the posts list for vehicles for stock number, color, odometer, price, photo count, and thumbnail
- Implements 10+ custom taxonomies to group vehicles by year, make, model, type, body style, fuel, transmission, drive type, availability, new or used, location, and more
- Hooks in all the right places & powerful shortcodes
- Template tags make front-end development easy
- Runs on any theme & provides shortcodes for the stubborn ones.
- Full feature list & more documentation inventorypresser.com
- Upload the
inventory-presser directory to the
- Activate the plugin through the ‘Plugins’ menu in WordPress
- Read this plugin’s Frequently Asked Question called “Will Inventory Presser work with my theme?” to learn how vehicles can best be displayed
How much does this plugin cost?
This plugin is free and open source. Free and paid add-ons & services are available at https://inventorypresser.com/.
Does it decode VINs?
Not for free. A VIN decoder add-on is available at https://inventorypresser.com/products/plugins/vin-decoder/.
Can I import my inventory into this system?
Yes. We use the WordPress REST API to deliver inventory updates. Read how we do it. Vehicles in Inventory Presser are stored in a custom post type using meta fields, taxonomy terms, and photo attachments, and many CSV/spreadsheet importer plugins like WP All Import work with custom post types. If imports sound challenging, Friday Systems (that’s us) feeds hundreds of sites running this plugin. It may be easier to let Friday Systems handle the last leg for a monthly fee.
Will Inventory Presser work with my theme?
Yes. Check out our Theme Compatibility Guide. If your theme does not include templates to display listing pages and vehicle detail pages, the plugin will provide the markup for those pages automatically. There are shortcodes like
[invp_single_vehicle] as a last resort. A number of Template Tags make designing custom templates easy.
- [Added] Adds a filter
invp_get_the_odometer to filter the value returned by the invp_get_the_odometer() template tag.
- [Fixed] Fixes the way queries are edited during searches to avoid name collisions.
- [Added] Wraps strings in filters in the was_now_discount pricing display option so “Retail”, “Now”, and “You Save” strings can be changed by other plugins using the
- [Fixed] Applies the
invp_price_display filter to all return paths of the invp_get_the_price() template tag.
- [Added] Adds a feature enabled by default: Adds a gallery block to new vehicle posts with a specific CSS class that allows users to upload and reorder photos on vehicle posts in the block editor. This is merging the invp-photo-arranger feature plugin into Inventory Presser core.
- [Fixed] Makes more strings translateable. Escapes strings for output on the plugin settings page.
- [Fixed] Bug fix when changing attachment URLs to have cache-busting hash querystrings. If the post ID does not point to an attachment, exit early.
- [Fixed] Bug fixes in the maximum price filter widget. Avoid warnings when no widget settings are saved for the instance.
- [Fixed] CSS tweak for thumbnails in the vehicle posts list in the dashboard.
- [Added] Adds a minimum PHP version directive to this file of 7.0.0 to support the null coalescing operator.
- [Added] Adds a template tag
invp_get_raw_msrp() and filter
- [Added] Adds a template tag
- [Added] Adds a postmeta field
inventory_presser_certified_preowned to the vehicle post type and a template tag
- [Fixed] Fixes a bug in the Maximum Price Filter widget to make it compatible with the new block widgets feature in the dashboard.
- [Fixed] Fixes a bug that caused vehicle thumbnail photos to break out of the posts table at the Vehicles dashboard page.
- [Fixed] Fixes a bug that prevented
invp_get_the_photos() from including the urls array key when a single size of
large was passed.
- [Fixed] Fixes bugs when calling
http_build_query() for compatibility with PHP 8.1.
- [Fixed] Fixes a bug in the uninstaller that prevented the plugin from being deleted.
- [Fixed] Cache-busting photo URLs are now compatible with any image file type rather than just JPG and PNG.
- [Fixed] Fixes a bug when changing the title of additional listings pages.
- [Changed] Changes the tested up to version number to 6.0.3.
- [Added] Adds a page title setting to additional listings pages so users can easily change “Vehicles” or “Vehicles Archive” to a title of their choosing.
- [Added] Adds a shortcode [invp_sort_by] that creates a dropdown to let users reorder listings pages.
- [Added] Adds a filter
invp_get_raw_price to let developers change the output of the template tag
- [Changed] Changes the tested up to version number to 6.0.2.
- [Fixed] Fixes a bug in the add-on updater that prevented the update notices from looking like core update nags on the plugins list.
- [Fixed] Fixes a bug in the add-on updater that prevented users from seeing our “License key is missing at Vehicles → Options” message.
- [Fixed] Reverts to
wp_json_decode(), a bug introduced in 14.2.1.
- [Added] Adds two template tags
- [Added] Wraps vehicle prices in a element in the [invp_inventory_grid] shortcode so they can be more easily styled
- [Fixed] Bumps npm package terser from 5.13.1 to 5.14.2
- [Fixed] Applies the WordPress coding standard to all PHP files
- [Added] Adds a Contact Form 7 mail tag [invp_adf_timestamp] to help insert ISO 8601 timestamps into ADF XML lead emails.
- [Added] Adds a Contact Form 7 mail tag [invp_adf_vehicle] to help insert vehicles into ADF XML lead emails.
- [Added] Adds a “No vehicles found.” message to the [invp_archive] shortcode when there are no vehicle posts that satisfy the query.
- [Added] Adds a default false value for the use_carfax setting so it shows up in REST at /wp-json/invp/v1/settings consistently.
- [Added] Wraps the vehicle YMM string in a link in email sent using our Contact Form 7 form-tag [invp_vehicle].
- [Fixed] Fixes a bug where if a vehicle attribute stored in meta was deleted, the change would not be mirrored in the corresponding taxonomy.
- [Changed] Changes the tested up to version number to 6.0.1.
- [Added] Integrates WP All Import. Detects and saves piped options in the
inventory_presser_options_array meta field. Marks all imported vehicles for sale in the availabilities taxonomy if they do not already have a relationship in the taxonomy.
- [Added] Integrates Contact Form 7. Adds a form tag [invp_vehicle] to help users put vehicle drop downs or hidden elements in forms.
- [Added] Adds a shortcode [invp_attribute_table] to make the feature more accessible to templates. Re-orders some attributes in the table to better suit a two-column layout.
- [Added] Adds a filter
invp_single_sections to let users edit or add to the Description and Features sections of [invp_single_vehicle]
- [Fixed] No longer changes thumbnail photo sizes in the dashboard’s list of vehicles at
- [Changed] Improves the way [invp_single_vehicle] organizes content sections with CSS and HTML changes.
- [Removed] Removes AutoCheck integration in [invp_single_vehicle] and [invp_archive_vehicle]. The AutoCheck add-on now adds the button to the
- [Removed] Removes the [iframe] shortcode. This was replaced with [invp_iframe].
- [Removed] Removes all deprecated methods and constants including the entire vehicle class. All items have had replacements for many months.
- [Fixed] Bug fix. invp_get_the_location_sentence() assumed the site had at least one location term before this fix.
- [Fixed] Allows invp_get_the_photos() to find attachments to the post even if they do not have our sequencing meta value. Relies on the post_date for sequence instead.
- [Fixed] No longer attempts to change a query order by in get_terms() if there are no taxonomy names provided to the filter callback.
- [Changed] Changes the slider widget to show only 2 vehicles at a time on smaller devices.
- [Changed] Changes tested up to version number to 6.0.0.
- [Added] Adds a minimized version of the leaflet.js CSS file. This file is used by the Map widget.
- [Fixed] Bug fix when resizing flexslider images to avoid stretching images wider than their full size dimensions.
- [Added] Adds template tags
- [Added] Registers all scripts and styles on the
enqueue_block_editor_assets hook so blocks can use them
- [Fixed] Adds & implements iFrameResizer.js in the [invp_iframe] shortcode instead of relying on the themes like _dealer to provide the library and resize iframes
- [Fixed] Bug fix when looking for an SVG file path in the Carfax Widget
- [Fixed] Bug fix in the
invp_get_the_transmission_speeds() template tag. The single
$post_id argument is now optional, matching all other template tags.
- [Fixed] Bug fix in the template tag invp_get_the_fuel_economy_value(), specify fuel 1 or 2 when retrieving the value.
- [Fixed] Adds CSS classes to the NextGear inspection report button so it matches the View Details button in archives.
- [Fixed] Fixes the Sort Vehicles By setting when “Date entered” or “Last modified” is chosen. These keys did not previously work.
- [Fixed] Fixes the registration of the new REST route at /wp-json/invp/v1/settings to specify a missing permission_callback.
- [Fixed] Bug fix in block category creation. Instead of all blocks ending up in “Widgets”, they now correctly group under “Inventory Presser”. This was intended for 13.7.0 but didn’t get shipped somehow.
- [Fixed] Avoid throwing warnings in the Map, Inventory Grid, and Inventory Slider widgets when widget settings and attributes are not provided or are unavailable.
- [Fixed] Allows our template provider class to help vehicle details pages work on more themes out of the box. No longer limits our hook on the_content to only run once for themes that fetch post content and apply the filter multiple times.
- [Fixed] Fixes the plugin update nag HTML for add-ons to better match the core plugin update nags. Removes a condition clause that was preventing the nag from showing on network admin plugin pages.
- [Changed] Changes tested up to version number to 5.9.2.
- [Added] Adds a shortcode [invp_vin] that outputs the value of the template tag invp_get_the_vin()
- [Added] Adds a REST API route at /wp-json/invp/v1/settings to expose the core “Show Carfax buttons” switch
- [Fixed] Bug fix in block category creation. Instead of all blocks ending up in “Widgets”, they now correctly group under “Inventory Presser”
- [Fixed] Prevents non-numeric characters from being entered in the Odometer field in the editor sidebar
- [Fixed] Prevent the Delete all Vehicles feature from deleting vehicles more than once if the user reloads the page after using the feature
- [Fixed] Starts populating the inventory_presser_date_entered meta value when vehicles are saved
- [Added] Adds a template tag invp_is_featured()
- [Fixed] Allows taxonomy filters to work when using the [invp_archive] shortcode at /inventory
- [Fixed] Adds support for querystring filters
max_odometer to the [invp_archive] shortcode
- [Fixed] Adds support for the Sort By setting and querystring parameters
order to the [invp_archive] shortcode
- [Changed] Changes the “was now discount” price display to fallback to showing the price when the MSRP is empty or the difference is not a positive discount. Previously, the setting would fallback to “Call for Price” even if a price value was available.