{"id":398290,"date":"2026-11-09T07:52:02","date_gmt":"2026-11-09T07:52:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ws-fahrzeuge\/"},"modified":"2026-11-09T07:51:41","modified_gmt":"2026-11-09T07:51:41","slug":"webschmiede-vehicle-inventory","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/webschmiede-vehicle-inventory\/","author":17206349,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.7.1","stable_tag":"0.7.1","tested":"7.1.4","requires":"6.8","requires_php":"8.1","requires_plugins":null,"header_name":"Webschmiede Vehicle Inventory","header_author":"WEBSCHMIEDE","header_description":"Vehicle inventory from the mobile.de Search API \u2013 complete sync with mass-removal guard, local images, lifecycle active \u2192 sold \u2192 301.","assets_banners_color":"0116e9","last_updated":"2026-11-09 07:51:41","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/webschmiede.at\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":89,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.7.1":{"tag":"0.7.1","author":"webschmiede","date":"2026-11-09 07:51:41","revision":3791994}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3791994,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3791994,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3791994,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500-de_DE.png":{"filename":"banner-1544x500-de_DE.png","revision":3791994,"resolution":"1544x500","location":"assets","locale":"de_DE","width":1544,"height":500},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3791994,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250-de_DE.png":{"filename":"banner-772x250-de_DE.png","revision":3791994,"resolution":"772x250","location":"assets","locale":"de_DE","width":772,"height":250},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3791994,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"ws-fahrzeuge\/fahrzeug-liste":{"name":"ws-fahrzeuge\/fahrzeug-liste","title":"Vehicle list"},"ws-fahrzeuge\/fahrzeug-filter":{"name":"ws-fahrzeuge\/fahrzeug-filter","title":"Vehicle filter"}},"tagged_versions":["0.7.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3791994,"resolution":"1","location":"assets","locale":"","width":1440,"height":1000},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3791994,"resolution":"2","location":"assets","locale":"","width":1440,"height":1000},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3791994,"resolution":"3","location":"assets","locale":"","width":1440,"height":1000},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3791994,"resolution":"4","location":"assets","locale":"","width":1440,"height":1000},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3791994,"resolution":"5","location":"assets","locale":"","width":1440,"height":1000},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3791994,"resolution":"6","location":"assets","locale":"","width":1440,"height":1000},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3791994,"resolution":"7","location":"assets","locale":"","width":1440,"height":1000}},"screenshots":{"1":"Vehicle overview with filter and search. Highlighted vehicles carry a label and come first.","2":"Vehicle page with gallery, price, contact buttons and technical data.","3":"The \u201cVehicle list\u201d block in the editor \u2013 as grid, list or slider, with its settings in the sidebar.","4":"Vehicles in the backend with image, price, status and mobile.de listing number.","5":"mobile.de connection: status, last valid sync, queue and the settings for sync and images.","6":"Display settings: contact details, card fields and how long sold vehicles stay visible.","7":"Built-in help with instructions for every block and shortcode."}},"plugin_section":[],"plugin_tags":[9983,148076,6601,37586,151377],"plugin_category":[45],"plugin_contributors":[291596],"plugin_business_model":[],"class_list":["post-398290","plugin","type-plugin","status-publish","hentry","plugin_tags-car-dealer","plugin_tags-gutenberg","plugin_tags-inventory","plugin_tags-mobile-de","plugin_tags-vehicles","plugin_category-ecommerce","plugin_contributors-webschmiede","plugin_committers-webschmiede"],"banners":{"banner":"https:\/\/ps.w.org\/webschmiede-vehicle-inventory\/assets\/banner-772x250.png?rev=3791994","banner_2x":"https:\/\/ps.w.org\/webschmiede-vehicle-inventory\/assets\/banner-1544x500.png?rev=3791994","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/webschmiede-vehicle-inventory\/assets\/icon.svg?rev=3791994","icon":"https:\/\/ps.w.org\/webschmiede-vehicle-inventory\/assets\/icon.svg?rev=3791994","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/webschmiede-vehicle-inventory\/assets\/screenshot-1.png?rev=3791994","caption":"Vehicle overview with filter and search. Highlighted vehicles carry a label and come first."},{"src":"https:\/\/ps.w.org\/webschmiede-vehicle-inventory\/assets\/screenshot-2.png?rev=3791994","caption":"Vehicle page with gallery, price, contact buttons and technical data."},{"src":"https:\/\/ps.w.org\/webschmiede-vehicle-inventory\/assets\/screenshot-3.png?rev=3791994","caption":"The \u201cVehicle list\u201d block in the editor \u2013 as grid, list or slider, with its settings in the sidebar."},{"src":"https:\/\/ps.w.org\/webschmiede-vehicle-inventory\/assets\/screenshot-4.png?rev=3791994","caption":"Vehicles in the backend with image, price, status and mobile.de listing number."},{"src":"https:\/\/ps.w.org\/webschmiede-vehicle-inventory\/assets\/screenshot-5.png?rev=3791994","caption":"mobile.de connection: status, last valid sync, queue and the settings for sync and images."},{"src":"https:\/\/ps.w.org\/webschmiede-vehicle-inventory\/assets\/screenshot-6.png?rev=3791994","caption":"Display settings: contact details, card fields and how long sold vehicles stay visible."},{"src":"https:\/\/ps.w.org\/webschmiede-vehicle-inventory\/assets\/screenshot-7.png?rev=3791994","caption":"Built-in help with instructions for every block and shortcode."}],"raw_content":"<!--section=description-->\n<p>Webschmiede Vehicle Inventory imports the vehicle listings of a mobile.de dealer account into WordPress and keeps them in sync.<\/p>\n\n<ul>\n<li><strong>Complete, safe sync.<\/strong> Every run compares the full list of listings. If mobile.de answers with an error or an incomplete list, nothing is changed. A mass-removal guard stops the sync when many vehicles disappear at once.<\/li>\n<li><strong>Lifecycle.<\/strong> A vehicle that is no longer listed is marked as sold after two valid runs, stays visible with a \"sold\" notice for a configurable time and then redirects (301) to the overview.<\/li>\n<li><strong>Local images.<\/strong> Images are stored in the media library (WebP), unchanged images are never downloaded twice.<\/li>\n<li><strong>Blocks.<\/strong> Vehicle list (grid, list or slider), filter and search, gallery with lightbox, data, price, equipment, description, consumption, contact buttons, \"sold\" notice and similar vehicles. Templates for the single vehicle, the overview and the archives are provided and can be changed in the site editor.<\/li>\n<li><strong>Block bindings.<\/strong> Bind core paragraph, heading, image and button blocks to vehicle fields.<\/li>\n<li><strong>Structured data.<\/strong> <code>Car<\/code>\/<code>Vehicle<\/code> with <code>Offer<\/code>; integrates into Rank Math's graph when Rank Math is active.<\/li>\n<li><strong>Shortcodes for every page builder<\/strong> (Elementor, WPBakery, Divi, classic editor): <code>[ws_fz_liste]<\/code>, <code>[ws_fz_filter]<\/code>, <code>[ws_fz_galerie]<\/code>, <code>[ws_fz_daten]<\/code>, <code>[ws_fz_preis]<\/code>, <code>[ws_fz_ausstattung]<\/code>, <code>[ws_fz_beschreibung]<\/code>, <code>[ws_fz_umwelt]<\/code>, <code>[ws_fz_kontakt]<\/code>, <code>[ws_fz_verkauft]<\/code>, <code>[ws_fz_aehnliche]<\/code> and <code>[ws_fz_feld feld=\"preis\"]<\/code>. They accept the same settings as the blocks, e.g. <code>[ws_fz_liste layout=\"slider\" anzahl=\"8\" spalten_desktop=\"4\"]<\/code>; vehicle shortcodes take <code>id=\"&lt;mobile.de ID or post ID&gt;\"<\/code> or use the current vehicle.<\/li>\n<li><strong>No theme or page builder required.<\/strong> Works with any block theme and the standard block editor.<\/li>\n<li><strong>Translatable.<\/strong> All texts are in English and translatable; translations are managed on translate.wordpress.org.<\/li>\n<li><strong>WP-CLI.<\/strong> <code>wp ws-fz sync<\/code>, <code>wp ws-fz status --format=json<\/code>, <code>wp ws-fz pruefen<\/code>.<\/li>\n<\/ul>\n\n<p>You need API access to the mobile.de Search API (a dealer account with API credentials).<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the <strong>mobile.de Search API<\/strong> (<code>https:\/\/services.mobile.de\/search-api\/<\/code>), operated by mobile.de GmbH, to read the vehicle listings of the dealer account you configure.<\/p>\n\n<ul>\n<li><strong>What is sent:<\/strong> your API user name and password (HTTP Basic authentication) and, if set, your mobile.de customer number. No visitor data is ever sent.<\/li>\n<li><strong>When:<\/strong> only on the server, during the scheduled sync (hourly by default, or when an administrator starts it, or via WP-CLI). Visitors' browsers never contact mobile.de.<\/li>\n<li><strong>Images<\/strong> of the listings are downloaded from mobile.de's image servers (<code>img.classistatic.de<\/code>) during the sync and stored in your media library.<\/li>\n<li>Documentation: https:\/\/services.mobile.de\/docs\/search-api.html<\/li>\n<li>Service provider: mobile.de GmbH \u2013 Terms of Service: https:\/\/www.mobile.de\/en\/service\/agbIndex \u00b7 Privacy Policy: https:\/\/www.mobile.de\/en\/service\/privacyPolicy<\/li>\n<li>Using the API requires your own access agreement with mobile.de. You are responsible for complying with its terms.<\/li>\n<\/ul>\n\n<h3>Disclaimer<\/h3>\n\n<p>Webschmiede Vehicle Inventory is an independent product of Webschmiede. It is not affiliated with, endorsed by or connected to mobile.de GmbH in any way, and it was neither developed, distributed nor supported by mobile.de. The name mobile.de is used only to describe which interface the plugin works with; it is a trademark of its owner.<\/p>\n\n<p>The plugin shows the data exactly as the mobile.de Search API delivers it. We take care to display it correctly, but we cannot guarantee that the information is complete or accurate. If something looks wrong, please contact us.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Go to Vehicles \u2192 mobile.de and enter your API credentials (or define <code>WS_FZ_MOBILE_USER<\/code> and <code>WS_FZ_MOBILE_PASS<\/code> in <code>wp-config.php<\/code>).<\/li>\n<li>Click \"Test connection\", then \"Start sync\".<\/li>\n<li>Recommended: run <code>wp ws-fz sync<\/code> from a real server cron job every hour.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20happens%20if%20mobile.de%20is%20not%20reachable%3F\"><h3>What happens if mobile.de is not reachable?<\/h3><\/dt>\n<dd><p>Nothing changes. A run only counts when every page of the list was received completely and without errors.<\/p><\/dd>\n<dt id=\"will%20vehicles%20be%20deleted%3F\"><h3>Will vehicles be deleted?<\/h3><\/dt>\n<dd><p>No vehicle is deleted by the sync. Sold vehicles are kept as an expired post so that their old address can redirect. Uninstalling the plugin keeps all vehicles unless you explicitly choose otherwise in the settings.<\/p><\/dd>\n<dt id=\"can%20editors%20change%20the%20data%3F\"><h3>Can editors change the data?<\/h3><\/dt>\n<dd><p>Data from mobile.de is shown read-only in the editor. Editors can add their own text, highlight or hide a vehicle and change the display settings under Vehicles \u2192 Display. Vehicle types, makes and classes come from mobile.de as well; only their description (shown on their archive page) can be edited.<\/p><\/dd>\n<dt id=\"where%20do%20i%20find%20instructions%20for%20the%20blocks%20and%20shortcodes%3F\"><h3>Where do I find instructions for the blocks and shortcodes?<\/h3><\/dt>\n<dd><p>In the backend under Vehicles \u2192 Help.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.7.1<\/h4>\n\n<ul>\n<li>Migration from \u201cAd Integration for mobile.de API\u201d: the migration record is now stored in the database (non-autoloaded option) instead of a folder under wp-content. The plugin keeps no files of its own; vehicle images are imported into the uploads directory via media_handle_sideload().<\/li>\n<li>Uninstall also removes the options <code>ws_fz_stand<\/code> and <code>ws_fz_listen_seiten<\/code>.<\/li>\n<\/ul>\n\n<h4>0.7.0<\/h4>\n\n<ul>\n<li>Renamed to Webschmiede Vehicle Inventory (slug <code>webschmiede-vehicle-inventory<\/code>).<\/li>\n<li>The sync warning in the admin area now only appears on the plugin's own screens and on the Plugins screen.<\/li>\n<li>Translation files are no longer bundled in the wordpress.org package; translations come from translate.wordpress.org.<\/li>\n<\/ul>\n\n<h4>0.6.4<\/h4>\n\n<ul>\n<li>Plugin header: removed the Plugin URI, which was the same as the Author URI.<\/li>\n<\/ul>\n\n<h4>0.6.3<\/h4>\n\n<ul>\n<li>Plugin name shortened to \u201cWS Fahrzeuge\u201d, so the plugin's address on wordpress.org matches its text domain <code>ws-fahrzeuge<\/code>.<\/li>\n<\/ul>\n\n<h4>0.6.2<\/h4>\n\n<ul>\n<li>New WS mark in the admin header, taken from the Webschmiede logo.<\/li>\n<li>A short note about setup and support by Webschmiede on the plugin's Help page and below its settings pages. Each user can hide it; the filter <code>ws_fz_webschmiede_hinweis<\/code> hides it for everyone. Nothing is loaded from or sent to external servers.<\/li>\n<\/ul>\n\n<h4>0.6.1<\/h4>\n\n<ul>\n<li>Requires PHP 8.1 (was 8.3).<\/li>\n<li>Translations: a language pack from wordpress.org takes precedence over the bundled German files.<\/li>\n<li>Every PHP file is protected against direct access.<\/li>\n<li>Vehicle cards and structured data: the first-registration abbreviation is translated (was always \u201cEZ\u201d); the address hint on the mobile.de page is translated.<\/li>\n<li>Database queries use identifier placeholders (%i) for table and column names; passes Plugin Check without errors or warnings.<\/li>\n<\/ul>\n\n<h4>0.6.0<\/h4>\n\n<ul>\n<li>All texts are now in English and translatable; German translations (de_DE, de_DE_formal) are included. Other German locales (de_AT, de_CH \u2026) fall back to them.<\/li>\n<li>Vehicle types and classes are assigned via their mobile.de key, so changing the site language never creates duplicate terms. Existing terms are recognised automatically.<\/li>\n<\/ul>\n\n<h4>0.5.3<\/h4>\n\n<ul>\n<li>Admin notices (also from other plugins) appear above the plugin header instead of inside it.<\/li>\n<li>New page Vehicles \u2192 Help with short instructions for blocks and shortcodes.<\/li>\n<li>Vehicle types, makes and classes are created and assigned only by the sync. Their description stays editable; name, slug, assignment and deletion are locked.<\/li>\n<\/ul>\n\n<h4>0.5.2<\/h4>\n\n<ul>\n<li>The vehicle title always comes from mobile.de; it can no longer be edited in the backend.<\/li>\n<\/ul>\n\n<h4>0.5.1<\/h4>\n\n<ul>\n<li>Vehicles can never be added by hand, even if another plugin replaces the post type capabilities.<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Shortcodes for page builders without the block editor.<\/li>\n<li>Redesigned admin pages (status tiles, cards, switches) and list columns for image, price and status.<\/li>\n<li>Filter labels stay readable in themes that colour form labels.<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Renamed to WS Fahrzeuge (slug <code>ws-fahrzeuge<\/code>, prefix <code>ws_fz_<\/code>). No own update mechanism.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Blocks, filter, templates, structured data.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Sync engine, local images, lifecycle, WP-CLI.<\/li>\n<\/ul>","raw_excerpt":"Shows a dealer's mobile.de vehicle inventory on your WordPress site \u2013 complete sync, local images, filters and blocks.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/398290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=398290"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/webschmiede"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=398290"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=398290"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=398290"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=398290"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=398290"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=398290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}