Contributors: salzano
Tags: car dealer, inventory management, vehicle, automobile, dealership, lot, motorcycle, rv
Requires at least: 5.0.0
Tested up to: 5.8.1
Stable tag: 13.4.0
License: GPLv2 or later
License URI:

Turn WordPress into a dealership website. Provides vehicle listing templates and a custom post type for automobiles or powersports.


This plugin tranforms WordPress into a powerful dealer website platform that makes displaying a vehicle inventory easy.

  • Supports automobiles, motorcycles, ATVs, RVs, and boats
  • Manage multiple lot locations and separate phone numbers & hours for each
  • VIN-decoding add-on available
  • Custom post type inventory_vehicle makes importing data easy
  • Categorizes inventory by type, body style, fuel, transmission, drive type, availability, and new or used
  • Includes many widgets including vehicle sliders and inventory grids

Built the right way and developer-friendly

  • Creates a custom post type & 11 taxonomies to store and group vehicles
  • 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 custom taxonomies to group vehicles by year, make, model, type, fuel, transmission, drive type, availability, new or used, and body style
  • Hooks in all the right places & four powerful shortcodes
  • Template tags make front-end development easy
  • Runs on any theme & provides shortcodes for the stubborn ones.
  • Full feature list & more documentation


  1. Upload the inventory-presser directory to the /wp-content/plugins/ directory
  2. Activate the plugin through the 'Plugins' menu in WordPress
  3. Read this plugin's Frequently Asked Question called "Will Inventory Presser work with my theme?" to learn how vehicles can best be displayed

Frequently Asked Questions

How much does this plugin cost?

This plugin is free and open source. Free and paid add-ons & services are available at

Does it decode VINs?

Not for free. A VIN decoder add-on is available at

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 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_archive] and [invp_single_vehicle] as a last resort. A number of Template Tags make designing custom templates easy.



  • [Added] Adds the ability for add-ons to store their license key in a key with a name that is not license_key. A few add-ons already use _license_key.
  • [Added] Adds a filter invp_vehicle_attribute_table_items that allows the vehicle attribute table items to be manipulated just before they are parsed into HTML.
  • [Added] Upgrades the taxonomy overlapper class to allow the updating of the transmission speeds meta key when term relationships in the transmission taxonomy are changed.
  • [Added] Adds car ID, dealer ID, leads ID, Edmunds Style ID, title status, and Next Gear Inspection URL to the editor sidebar.
  • [Changed] Changes the taxonomy overlapper to make sure the meta value matches a term name with which a vehicle has a relationship when relationships are deleted. For example, if a vehicle is erroneously assigned both "Convertible" and "Sedan" body styles, this change makes sure Sedan is saved in the meta field when Convertible is removed.
  • [Changed] Re-implements the archive "View Details" button as a hook on invp_archive_buttons rather than expecting all templates to implement it. Adds a filter invp_css_classes_view_details_button on the CSS classes because that is a feature we need on day one for the two different themes we have on production sites.
  • [Fixed] Fixes bugs in the invp_get_the_odometer() template tag and the vehicle attribute table to avoid outputting odometer and engine attributes that do not actually contain values.
  • [Removed] Removes fields from the editor sidebar that are managed via taxonomies and the taxonomy overlapper: year, make, model, and body style.


  • [Fixed] Fixes a bug in the taxonomy overlapper that was causing sold vehicles to show as available. Meta keys were not always being updated when the overlapping taxonomy term relationships were changed.
  • [Changed] Changes the add-on updater to not show a plugin update nag unless a download link is available.


  • [Added] Adds a colors taxonomy to help users shop by vehicle color. This taxonomy is designed to hold the base color. That means the value might be "Red" rather than "Ruby Mist Metallic".
  • [Added] Adds new classes Inventory_Presser_Addon and Inventory_Presser_Addon_Updater to help add-on plugins store license keys and obtain updates from
  • [Added] Adds two API methods INVP::option_group() and INVP::option_page() to help add-ons avoid hard-coding string slugs for the page and group where this plugin's settings are manipulated.
  • [Added] Adds an action hook invp_loaded that runs on the plugins_loaded hook but after Inventory Presser has finished loading. This hook is designed as an add-on entry point.


  • [Fixed] Bug fix when registering a term meta key dealer_id in locations taxonomy. Sanitize callback of intval() prevent updates to the terms in the locations taxonomy. Changed to use sanitize_text_field() instead.


  • [Changed] Changes the tested up to version number to 5.8.0.
  • [Fixed] Fixes a bug in the Map widget that was hiding the widget title underneath the map.

Upgrade Notice


Upgrades the add-on framework to simplify the building and integrating of add-on plugins. Adds a colors taxonomy to help users shop by base color.


Contains a bug fix in the Map widget to prevent widget titles from sitting underneath the map. Changes tested up to version number to 5.8.0.


Now saves latitude and longitude coordinates with location term addresses when they are fetched from for use in the Map widget. Enables more than one Map widget to appear on the same page. Bug fix in the Hours widget.


Contains bug fixes and adds a new maps widget called Map that succeeds the Google Map widget. Google deprecated the API upon which the Google Map widget is built, and has indicated it will cease working any day. The new widget is built on leaflet.js and uses map tiles/imagery from MapBox.


Version 13 is smaller than version 12! Instead of shipping with two sliders, all slideshows are now powered by flexslider. This version drops a dependency on slick.js without losing functionality or changing the look and feel of sliders. Fixes a bug when displaying our placeholder "no photo photo" near vehicles that have zero photos.


Adds a setting to control whether vehicles use Trash when deleted. Adds a shortcode [invp_photo_slider]. Creates relationship with "For Sale" term in Availabilities taxonomy when vehicles are added with the editor. Fixes a bug that prevented boat fields from appearing in the vehicle attribute table.


First version that adds a "date entered" field to vehicles posts. Bug fix in the hours widget to no longer highlight Friday and Monday at the same time for some sets of hours.


Changes the default button text for NextGear vehicle inspection reports from "See Digital Inspection Report" to "Mechanic's Report." Fixes bugs.


This release is the one we shipped to and the world as our open source launch.


The first version with DocBlock comments on all classes and methods.


This version makes the job of REST API clients that update vehicle data much easier by adding meta fields that overlap and updated all custom taxonomies.