{"id":283174,"date":"2026-03-03T14:39:19","date_gmt":"2026-03-03T14:39:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/self-storage-api\/"},"modified":"2026-08-21T11:37:09","modified_gmt":"2026-08-21T11:37:09","slug":"landtech-self-storage-api","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/landtech-self-storage-api\/","author":12029770,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.6","stable_tag":"1.0.6","tested":"7.1","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"LandTech Self Storage API","header_author":"Randy Breland (Land Tech Web Designs, Corp)","header_description":"Integrate with the WebSelfStorage API (U-Haul Self-Storage Affiliate Network) to display storage facility information and available units on your WordPress site. Perfect for self storage facility website owners.","assets_banners_color":"","last_updated":"2026-08-21 11:37:09","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/landtech-self-storage-api\/","header_author_uri":"https:\/\/landtechwebdesigns.com","rating":5,"author_block_rating":0,"active_installs":0,"downloads":629,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description"],"tags":{"1.0.0":{"tag":"1.0.0","author":"brelandr","date":"2026-03-14 17:27:00"},"1.0.1":{"tag":"1.0.1","author":"brelandr","date":"2026-04-22 16:34:53"},"1.0.2":{"tag":"1.0.2","author":"brelandr","date":"2026-08-13 23:45:52"},"1.0.3":{"tag":"1.0.3","author":"brelandr","date":"2026-08-17 16:23:53"},"1.0.4":{"tag":"1.0.4","author":"brelandr","date":"2026-08-17 16:23:53"},"1.0.5":{"tag":"1.0.5","author":"brelandr","date":"2026-08-17 16:23:53"},"1.0.6":{"tag":"1.0.6","author":"brelandr","date":"2026-08-21 11:37:09"}},"upgrade_notice":{"1.0.6":"<p>Documentation update: Premium block list now includes <strong>Unit Types<\/strong> (Premium 1.4.4+). No code changes in the free plugin; safe to update.<\/p>","1.0.5":"<p>Adds <strong>WebSelfStorage API v4<\/strong> path support when Premium (or a wp-config constant) selects v4. Required foundation for Premium <strong>1.4.0<\/strong> Gutenberg blocks and <strong>API v4 Features<\/strong>. Update before or with Premium 1.4.0.<\/p>","1.0.3":"<p>Hides the free-plugin upsell when Premium is installed. Recommended for all Premium customers still seeing \u201cWant More Features?\u201d<\/p>","1.0.2":"<p>Compatibility metadata: WordPress 7.0 tested; minimum PHP is now 7.4 (required for sites running WordPress 7.0+). Update if you are on PHP 7.4 or newer.<\/p>","1.0.1":"<p>Documentation update: explains translation-ready free plugin and Premium language packs. No functional API changes; safe to update from 1.0.0.<\/p>","1.0.0":"<p>Initial release of LandTech Self Storage API plugin. Get started by configuring your API key in the WordPress admin.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":[],"assets_banners":[],"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3658887,"resolution":false,"location":"assets","locale":"","contents":"{\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=landtech-self-storage-api\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"6.9.4\"},\"phpExtensionBundles\":[\"kitchen-sink\"],\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"options\":{\"activate\":true},\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"landtech-self-storage-api\"}}]}"}},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Admin Settings Page - Configure your API key and Entity ID","2":"Facility Information Display - Shows location details, address, phone, and hours","3":"Available Units Display - Grid layout showing available storage units with pricing"}},"plugin_section":[],"plugin_tags":[1556,569,260846,257012,213598],"plugin_category":[],"plugin_contributors":[251791],"plugin_business_model":[],"class_list":["post-283174","plugin","type-plugin","status-publish","hentry","plugin_tags-api","plugin_tags-automation","plugin_tags-facility-management","plugin_tags-landtech","plugin_tags-self-storage","plugin_contributors-brelandr","plugin_committers-brelandr"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/landtech-self-storage-api.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>LandTech Self Storage API is a free foundation plugin that <strong>securely connects your WordPress site to the WebSelfStorage API<\/strong> (U-Haul Self-Storage Affiliate Network) for <strong>real-time inventory<\/strong>, facility profile display, and <strong>seamless data sync<\/strong>. Production API paths can use <strong>v3 or v4<\/strong> when Premium is active (see <em>API version<\/em> below).<\/p>\n\n<p>Server-side requests use your <strong>stored API key<\/strong> and <strong>Entity ID<\/strong>\u2014nothing is embedded in page source for visitors. Display facility profile data and <strong>move-in \/ availability inventory<\/strong> on any page via shortcodes. See <strong>SHORTCODES.md<\/strong> in the plugin folder for the full shortcode reference.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>API integration:<\/strong> WebSelfStorage API \u2014 facility location, move-in inventory, and related calls used by the shortcodes (v3 or v4 paths when configured)<\/li>\n<li><strong>Location display:<\/strong> Address, phone, and hours from the API<\/li>\n<li><strong>Available units:<\/strong> Move-in inventory (pricing and specs as returned by the API)<\/li>\n<li><strong>Admin:<\/strong> <strong>LandTech Storage<\/strong> settings for API key and Entity ID; <strong>Test Connection<\/strong> validates credentials and probes <strong>v3 and v4<\/strong> test endpoints<\/li>\n<li><strong>Shortcodes (public):<\/strong> <code>[landtech_self_storage]<\/code>, <code>[landtech_wss_movein]<\/code>, <code>[landtech_wss_location_sizes]<\/code> (see <strong>SHORTCODES.md<\/strong>)<\/li>\n<li><strong><code>[wss_api_*]<\/code> shortcodes:<\/strong> Raw JSON wrappers for endpoints\u2014for <strong>administrators<\/strong> debugging only; do not use on public pages<\/li>\n<li><strong>Responsive CSS<\/strong> for shortcode output<\/li>\n<li><strong>Translation-ready<\/strong> \u2014 text domain <code>landtech-self-storage-api<\/code>; default strings are English (see <em>Language support<\/em> below)<\/li>\n<li><strong>Premium-ready:<\/strong> Works alongside <a href=\"https:\/\/landtechwebdesigns.com\/product\/self-storage-api-premium\/\">Self Storage API Premium<\/a> for reservations, multi-facility, <strong>Gutenberg blocks<\/strong>, waiting lists, and <strong>API v4 Features<\/strong> admin<\/li>\n<\/ul>\n\n<h4>Premium Version<\/h4>\n\n<p>For reservation forms, multi-facility support, waiting lists, <strong>Self Storage API Gutenberg blocks<\/strong> (Storage Units, Unit Types, All Units, Reservation Form, Rental Form, Waiting List \u2014 six blocks in Premium 1.4.4+), <strong>API v4 Features<\/strong> admin, unit card display options, analytics, and <strong>bundled multi-language packages<\/strong>, see <a href=\"https:\/\/landtechwebdesigns.com\/product\/self-storage-api-premium\/\">Self Storage API Premium<\/a>.<\/p>\n\n<h4>Language support<\/h4>\n\n<p><strong>This free plugin<\/strong> is internationalization-ready. WordPress will load a translation if you install a matching <code>landtech-self-storage-api-{locale}.mo<\/code> (for example in <code>wp-content\/languages\/plugins\/<\/code>) or when community translations are available for this plugin on WordPress.org. The <strong>template<\/strong> for translators (<code>.pot<\/code>) is included under <code>languages\/<\/code> in the plugin package.<\/p>\n\n<p><strong>Self Storage API Premium<\/strong> adds <a href=\"https:\/\/landtechwebdesigns.com\/product\/self-storage-api-premium\/\">Self Storage API Premium<\/a>-maintained <strong>compiled translations<\/strong> for many locales (for example German, Spanish, French, Italian, Brazilian Portuguese, and Japanese), <strong>RTL<\/strong> styles for admin and front-end, <strong>Self Storage API Gutenberg blocks<\/strong>, <strong>API v4 Features<\/strong> admin, a <strong>Language support<\/strong> help document under SelfStorage \u2192 Documentation, and a much larger set of translatable admin and feature strings (reservations, waiting list, license tools, and more). <strong>For the full translated experience across Premium features, upgrade to <a href=\"https:\/\/landtechwebdesigns.com\/product\/self-storage-api-premium\/\">Self Storage API Premium<\/a>.<\/strong><\/p>\n\n<h4>Installation<\/h4>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li><strong>WordPress:<\/strong> 5.0 or higher (tested up to 7.1).<\/li>\n<li><strong>PHP:<\/strong> 7.4 or higher (aligns with WordPress 7.0 minimum supported PHP; 8.3+ recommended).<\/li>\n<li><strong>Hosting:<\/strong> Outbound <strong>HTTPS<\/strong> requests must be allowed so WordPress can call <code>api.webselfstorage.com<\/code> (the plugin uses <code>wp_remote_get<\/code> \/ <code>wp_remote_post<\/code>, not raw cURL).<\/li>\n<li><strong>Credentials:<\/strong> A valid <strong>WebSelfStorage API key<\/strong> and your facility <strong>Entity ID<\/strong> (from your storage network or U-Haul Self-Storage Affiliate Network account).<\/li>\n<\/ul>\n\n<h4>Install the plugin<\/h4>\n\n<ol>\n<li><strong>Upload or install:<\/strong> Add the plugin folder to <code>\/wp-content\/plugins\/landtech-self-storage-api\/<\/code>, <em>or<\/em> in wp-admin go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong> and select the plugin zip, <em>or<\/em> search for <strong>LandTech Self Storage API<\/strong> if installing from WordPress.org.<\/li>\n<li><strong>Activate:<\/strong> Go to <strong>Plugins<\/strong>, find <strong>LandTech Self Storage API \u2013 Automated Storage Management Integration<\/strong>, and click <strong>Activate<\/strong>.<\/li>\n<\/ol>\n\n<h4>Configure the API connection<\/h4>\n\n<ol>\n<li>In the WordPress admin sidebar, open <strong>LandTech Storage<\/strong> (top-level menu). The plugin\u2019s settings screen loads there\u2014it is not nested under <strong>Settings \u2192 General<\/strong>.<\/li>\n<li>Enter your <strong>API key<\/strong> and <strong>Entity ID<\/strong> (facility identifier used in API paths\u2014often a numeric code from your network).<\/li>\n<li>Click <strong>Save Settings<\/strong>, then <strong>Test Connection<\/strong> (same screen) to confirm WordPress can reach <code>api.webselfstorage.com<\/code> and that the API accepts your credentials.<\/li>\n<\/ol>\n\n<h4>Use shortcodes on your site<\/h4>\n\n<ol>\n<li>Edit any <strong>page<\/strong> or <strong>post<\/strong> and add the shortcodes you need:\n\n<ul>\n<li><code>[landtech_self_storage]<\/code> \u2014 Primary block: facility profile plus optional units (<code>show_location<\/code>, <code>show_units<\/code>).<\/li>\n<li><code>[landtech_wss_movein]<\/code> \u2014 Move-in inventory only (useful if you disabled units on the main shortcode to avoid duplication).<\/li>\n<li><code>[landtech_wss_location_sizes]<\/code> \u2014 Size-code \/ vacant-units table from <code>\/v3\/location\/{entity}<\/code> for comparison with move-in data.<\/li>\n<li><strong><code>[wss_api_*]<\/code><\/strong> (e.g. <code>wss_api_location<\/code>, <code>wss_api_movein<\/code>) \u2014 <strong>Administrators only;<\/strong> outputs raw JSON for troubleshooting. <strong>Do not<\/strong> publish on customer-facing pages.<\/li>\n<\/ul><\/li>\n<li><strong>Publish<\/strong> or <strong>Update<\/strong> the page. Rendering happens in PHP; the API key stays in options, not in HTML source.<\/li>\n<\/ol>\n\n<h4>Troubleshooting (installation)<\/h4>\n\n<ul>\n<li>If the test fails, verify PHP <code>allow_url_fopen<\/code> \/ firewall rules, that the API key matches your facility, and that the Entity ID matches WebSelfStorage records.<\/li>\n<li>For HTTPS or mixed-content issues, ensure your site uses HTTPS for admin if your host requires it.<\/li>\n<\/ul>\n\n<h4>Frequently Asked Questions<\/h4>\n\n<h4>How do I get an API key?<\/h4>\n\n<p>You can obtain your API key from your WebSelfStorage account. Contact your storage network provider for more information about accessing the WebSelfStorage API.<\/p>\n\n<h4>What is an Entity ID?<\/h4>\n\n<p>The Entity ID is a unique identifier for your storage facility. It's typically a 6-digit number (e.g., 019109). If you're unsure of your Entity ID, you can leave it blank and the plugin will attempt to retrieve it from the API.<\/p>\n\n<h4>Can I use this with multiple facilities?<\/h4>\n\n<p>The free version supports a single facility. For multi-facility support, please check out <a href=\"https:\/\/landtechwebdesigns.com\/product\/self-storage-api-premium\/\">LandTech Self Storage API Premium<\/a>.<\/p>\n\n<h4>Are translations included?<\/h4>\n\n<p><strong>Free:<\/strong> The plugin is translation-ready. English ships by default; you can add custom <code>.mo<\/code> files or use WordPress.org language packs when available. See <code>languages\/TRANSLATORS.txt<\/code> in the plugin. <strong>Premium<\/strong> ships pre-built <code>.mo<\/code> files for multiple locales and covers the full Premium UI\u2014see <em>Language support<\/em> in this readme, then <a href=\"https:\/\/landtechwebdesigns.com\/product\/self-storage-api-premium\/\">Self Storage API Premium<\/a> to upgrade.<\/p>\n\n<h4>What API version does this use?<\/h4>\n\n<p><strong>Default:<\/strong> WebSelfStorage API <strong>v3<\/strong>. <strong>Test Connection<\/strong> also probes <strong>v4<\/strong> (<code>GET \/v4\/test<\/code>) and reports whether v4 is live for your API key.<\/p>\n\n<p><strong>Switch to v4 for production requests<\/strong> when using <strong>Self Storage API Premium<\/strong>: <strong>SelfStorage \u2192 API v4 Features \u2192 API path<\/strong>, or add to <code>wp-config.php<\/code>:<\/p>\n\n<pre><code>define( 'LANDTECH_SELFSTORAGE_WSS_API_VERSION', 'v4' );\n<\/code><\/pre>\n\n<p>The free plugin\u2019s API client respects the shared version setting when Premium (or the constant) sets it. See <strong>SHORTCODES.md<\/strong> in this plugin folder.<\/p>\n\n<h4>How do I display facility information on my site?<\/h4>\n\n<p>Use the <code>[landtech_self_storage]<\/code> shortcode on any page or post. You can customize what's displayed using the shortcode attributes:\n* <code>show_location=\"true\"<\/code> - Display facility location information (default: true)\n* <code>show_units=\"true\"<\/code> - Display available units (default: true)<\/p>\n\n<p>Example: <code>[landtech_self_storage show_location=\"true\" show_units=\"true\"]<\/code><\/p>\n\n<p>Full attribute list and Premium shortcode pointer: see <strong>SHORTCODES.md<\/strong> in the plugin directory (or your copy from GitHub).<\/p>\n\n<h4>Changelog<\/h4>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li><strong>Documentation:<\/strong> Premium Gutenberg block list updated to include <strong>Unit Types<\/strong> (six blocks total in Premium 1.4.4+). Readme and upgrade notice refreshed; no functional changes to the free plugin.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li><strong>API v4 compatibility:<\/strong> Production requests can use WebSelfStorage <strong>v3 or v4<\/strong> paths. The free plugin\u2019s API client reads the shared <code>selfstorage_wss_api_version<\/code> option (set in Premium <strong>SelfStorage \u2192 API v4 Features \u2192 API path<\/strong>), <code>LANDTECH_SELFSTORAGE_WSS_API_VERSION<\/code> in <code>wp-config.php<\/code>, or Premium reservation settings.<\/li>\n<li><strong>Test Connection:<\/strong> Reports whether v4 is live for your API key and which path version is active for production calls.<\/li>\n<li><strong>Premium-ready foundation:<\/strong> Documented integration with <strong>Self Storage API Premium<\/strong> Gutenberg blocks (Storage Units, Unit Types, All Units, Reservation Form, Rental Form, Waiting List) and the <strong>API v4 Features<\/strong> admin screen.<\/li>\n<li><strong>Documentation:<\/strong> <strong>SHORTCODES.md<\/strong> added; readme updated for v3\/v4 switching and block editor workflow.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li><strong>Test Connection<\/strong> probes both GET \/v3\/test and GET \/v4\/test so you can see whether WebSelfStorage API v4 is live for your API key.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Hide \u201cWant More Features?\u201d upsell on <code>[landtech_self_storage]<\/code> and <code>[landtech_wss_movein show_upgrade=\"true\"]<\/code> when Self Storage API Premium is active.<\/li>\n<li>Align plugin header <strong>Tested up to<\/strong> with readme (<strong>7.1<\/strong>).<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Declares WordPress <strong>7.0<\/strong> compatibility (<code>Tested up to<\/code>) after testing on WordPress 7.0.<\/li>\n<li>Raises minimum <strong>PHP<\/strong> to <strong>7.4<\/strong> to align with WordPress 7.0 (PHP 7.2 and 7.3 no longer supported by core). No functional\/plugin logic changes in this release.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Documentation: language support and translation paths for the free plugin; what Premium adds (bundled locales, RTL, in-product help). Version bump to sync readme with WordPress.org and Git.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Basic API integration with WebSelfStorage API v3<\/li>\n<li>Location information display<\/li>\n<li>Available units display<\/li>\n<li>Admin settings page for API configuration<\/li>\n<li>Shortcode support for displaying facility information<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to an external API to display storage facility information and available units on your site. This is required for the plugin to function.<\/p>\n\n<p><strong>WebSelfStorage API (U-Haul Self-Storage Affiliate Network)<\/strong> \u2014 https:\/\/api.webselfstorage.com<\/p>\n\n<ul>\n<li><strong>What it is and what it is used for:<\/strong> The WebSelfStorage API is a service provided by U-Haul (eMove, Inc. d\/b\/a U-Haul Self Storage Affiliate Network). The plugin uses it to retrieve your storage facility\u2019s location details (address, phone, hours) and available storage units with pricing so you can show that information on your WordPress site via the shortcode.<\/li>\n<li><strong>What data is sent and when:<\/strong> The plugin sends your <strong>API key<\/strong> (in the request header) and your <strong>facility Entity ID<\/strong> (in the request URL) to the API. Specifically, it sends the Entity ID to endpoints such as <code>\/v3\/location\/<\/code> and <code>\/v3\/movein\/<\/code> to fetch location details (address, phone, hours) and available units with pricing. No site visitor personal data is sent. Data is sent when a page or post containing the shortcode is loaded, and when an administrator uses the settings page (e.g. testing the connection).<\/li>\n<li><strong>Terms of Service and Privacy Policy (required links):<\/strong>\n\n<ul>\n<li>Terms of Service \/ End User License Agreement: https:\/\/webselfstorage.com\/EndUserLicenseAgreement<\/li>\n<li>Privacy Policy: https:\/\/webselfstorage.com\/PrivacyNotice<\/li>\n<li>U-Haul legal and privacy: https:\/\/www.uhaul.com\/Legal\/<\/li>\n<\/ul><\/li>\n<\/ul>","raw_excerpt":"Securely connect your WordPress site to the LandTech API for real-time inventory updates, automated bookings, and seamless data sync.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/283174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=283174"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/brelandr"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=283174"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=283174"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=283174"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=283174"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=283174"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=283174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}