{"id":156178,"date":"2022-05-14T14:52:01","date_gmt":"2022-05-14T14:52:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/photo-sphere-viewer\/"},"modified":"2026-09-12T02:01:38","modified_gmt":"2026-09-12T02:01:38","slug":"photo-sphere-viewer","status":"publish","type":"plugin","link":"https:\/\/th.wordpress.org\/plugins\/photo-sphere-viewer\/","author":21159831,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.3.0","stable_tag":"2.3.0","tested":"7.1.2","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Photo Sphere Viewer","header_author":"WPXERO","header_description":"Photo Sphere Viewer renders 360\u00b0 panoramas shots with Photo Sphere, the new camera mode of Android 4.2 Jelly Bean and above. It also supports cube panoramas.","assets_banners_color":"061c52","last_updated":"2026-09-12 02:01:38","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/wpxero.com\/plugins\/photo-sphere-viewer\/pricing\/","header_plugin_uri":"https:\/\/wpxero.com\/plugins\/photo-sphere-viewer\/","header_author_uri":"https:\/\/wpxero.com\/","rating":3.5,"author_block_rating":0,"active_installs":600,"downloads":11453,"num_ratings":2,"support_threads":1,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.0":{"tag":"1.3.0","author":"wpxero","date":"2024-10-28 22:15:59","revision":3177531},"1.3.1":{"tag":"1.3.1","author":"wpxero","date":"2024-12-20 23:22:44","revision":3211303},"1.3.2":{"tag":"1.3.2","author":"wpxero","date":"2025-05-01 14:05:36","revision":3285650},"1.3.3":{"tag":"1.3.3","author":"wpxero","date":"2025-10-01 14:40:18","revision":3371172},"2.0.0":{"tag":"2.0.0","author":"wpxero","date":"2025-11-29 04:27:33","revision":3405582},"2.0.1":{"tag":"2.0.1","author":"wpxero","date":"2025-12-03 16:30:10","revision":3409848},"2.0.2":{"tag":"2.0.2","author":"wpxero","date":"2026-02-09 03:24:51","revision":3456684},"2.0.3":{"tag":"2.0.3","author":"wpxero","date":"2026-02-13 02:57:58","revision":3460459},"2.1.0":{"tag":"2.1.0","author":"wpxero","date":"2026-03-07 15:32:23","revision":3477095},"2.1.1":{"tag":"2.1.1","author":"wpxero","date":"2026-04-13 02:21:35","revision":3504739},"2.2.0":{"tag":"2.2.0","author":"wpxero","date":"2026-05-05 14:40:02","revision":3523505},"2.2.1":{"tag":"2.2.1","author":"wpxero","date":"2026-05-19 18:39:00","revision":3537822},"2.2.2":{"tag":"2.2.2","author":"wpxero","date":"2026-05-22 16:13:53","revision":3544162},"2.2.3":{"tag":"2.2.3","author":"wpxero","date":"2026-06-06 12:10:14","revision":3563118},"2.2.4":{"tag":"2.2.4","author":"wpxero","date":"2026-07-31 12:13:07","revision":3629965},"2.2.5":{"tag":"2.2.5","author":"wpxero","date":"2026-08-23 17:55:31","revision":3662178},"2.3.0":{"tag":"2.3.0","author":"wpxero","date":"2026-09-12 02:01:38","revision":3692261}},"upgrade_notice":{"2.3.0":"<p>Adds a block-editor block and Pro info hotspots. Fullscreen, zoom, caption and download are now free on every viewer; auto-rotation is Pro everywhere. Fixes 360\u00b0 video shortcodes, Pro video autoplay\/loop, and the Pro panel not appearing in the Elementor editor on Elementor Pro sites. Deleting the plugin now removes its saved shortcodes.<\/p>","2.2.4":"<ul>\n<li>Added: Proper uninstall handling for the free plugin<\/li>\n<li>Improved: Updated Freemius SDK to 2.13.4<\/li>\n<\/ul>","2.2.3":"<ul>\n<li>Fixed: Shortcode panoramas failing on pages without jQuery<\/li>\n<li>Improved: Asset loading, Pro detection, and Elementor widget icons<\/li>\n<\/ul>"},"ratings":{"1":0,"2":1,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3525667,"resolution":"128x128","location":"assets","locale":"","width":250,"height":250},"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3525667,"resolution":"256x256","location":"assets","locale":"","width":250,"height":250}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3525659,"resolution":"1544x500","location":"assets","locale":"","width":2203,"height":714},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3525659,"resolution":"772x250","location":"assets","locale":"","width":2204,"height":713}},"assets_blueprints":{},"all_blocks":{"photo-sphere-viewer\/panorama":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"photo-sphere-viewer\/panorama","version":"1.0.0","title":"360\u00b0 Panorama","category":"media","icon":"format-image","description":"Drop an equirectangular 360\u00b0 photo into a page. Visitors drag, pinch and zoom to look around.","keywords":["360","panorama","equirectangular","virtual","vr","drone"],"textdomain":"photo-sphere-viewer","supports":{"html":false,"align":["wide","full"],"spacing":{"margin":true,"padding":false}},"attributes":{"imageId":{"type":"number","default":0},"imageUrl":{"type":"string","default":""},"caption":{"type":"string","default":""},"height":{"type":"number","default":70},"showNavbar":{"type":"boolean","default":true},"showCaption":{"type":"boolean","default":true},"showZoom":{"type":"boolean","default":true},"showDownload":{"type":"boolean","default":true},"showFullscreen":{"type":"boolean","default":true},"showAutorotate":{"type":"boolean","default":true},"autorotateAutoplay":{"type":"boolean","default":false},"useOriginal":{"type":"boolean","default":false},"hotspots":{"type":"array","default":[]}},"editorScript":"file:.\/index.js"}},"tagged_versions":["1.3.0","1.3.1","1.3.2","1.3.3","2.0.0","2.0.1","2.0.2","2.0.3","2.1.0","2.1.1","2.2.0","2.2.1","2.2.2","2.2.3","2.2.4","2.2.5","2.3.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3409848,"resolution":"1","location":"assets","locale":"","width":1088,"height":831},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3409848,"resolution":"2","location":"assets","locale":"","width":1263,"height":685},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3409848,"resolution":"3","location":"assets","locale":"","width":1219,"height":855},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3409848,"resolution":"4","location":"assets","locale":"","width":1913,"height":764},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3409848,"resolution":"5","location":"assets","locale":"","width":1906,"height":777}},"screenshots":{"1":"360\u00b0 panorama embedded using the Elementor widget","2":"Elementor widget settings panel with full customization options","3":"Virtual tour with 3D navigation arrows between scenes","4":"360\u00b0 video player with playback controls","5":"Shortcode builder admin interface","6":"Responsive mobile preview with touch controls","7":"AR 3D Viewer widget and admin integration"}},"plugin_section":[],"plugin_tags":[764,47932,811,2199,8430],"plugin_category":[50],"plugin_contributors":[223308],"plugin_business_model":[],"class_list":["post-156178","plugin","type-plugin","status-publish","hentry","plugin_tags-360-panorama","plugin_tags-360-video","plugin_tags-3d-model-viewer","plugin_tags-real-estate","plugin_tags-virtual-tour","plugin_category-media","plugin_contributors-wpxero","plugin_committers-afnanturab","plugin_committers-wpxero","plugin_support_reps-afnanturab"],"banners":{"banner":"https:\/\/ps.w.org\/photo-sphere-viewer\/assets\/banner-772x250.png?rev=3525659","banner_2x":"https:\/\/ps.w.org\/photo-sphere-viewer\/assets\/banner-1544x500.png?rev=3525659","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/photo-sphere-viewer\/assets\/icon-128x128.gif?rev=3525667","icon_2x":"https:\/\/ps.w.org\/photo-sphere-viewer\/assets\/icon-256x256.gif?rev=3525667","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/photo-sphere-viewer\/assets\/screenshot-1.png?rev=3409848","caption":"360\u00b0 panorama embedded using the Elementor widget"},{"src":"https:\/\/ps.w.org\/photo-sphere-viewer\/assets\/screenshot-2.png?rev=3409848","caption":"Elementor widget settings panel with full customization options"},{"src":"https:\/\/ps.w.org\/photo-sphere-viewer\/assets\/screenshot-3.png?rev=3409848","caption":"Virtual tour with 3D navigation arrows between scenes"},{"src":"https:\/\/ps.w.org\/photo-sphere-viewer\/assets\/screenshot-4.png?rev=3409848","caption":"360\u00b0 video player with playback controls"},{"src":"https:\/\/ps.w.org\/photo-sphere-viewer\/assets\/screenshot-5.png?rev=3409848","caption":"Shortcode builder admin interface"}],"raw_content":"<!--section=description-->\n<h4>\ud83c\udf10 One plugin, four ways to show something in 360\u00b0<\/h4>\n\n<p>Photo Sphere Viewer started as a simple way to drop an equirectangular panorama into a WordPress page without wrestling with iframes or third-party embed accounts. It's grown into four viewers in one plugin: panoramas, multi-scene virtual tours, 360\u00b0 video, and AR-ready 3D models (.glb \/ .gltf). Add any of them through the block editor, an Elementor widget or a shortcode \u2014 whatever your site already uses.<\/p>\n\n<p>If you shoot with a DJI drone, Ricoh Theta, Insta360, or anything that outputs a stitched equirectangular image, it'll load. No proprietary format, no vendor lock-in.<\/p>\n\n<p><a href=\"https:\/\/wpxero.com\/plugins\/photo-sphere-viewer\/pricing\/\">Upgrade to Pro<\/a><\/p>\n\n<h4>\ud83d\udcf7 Built with real camera gear in mind<\/h4>\n\n<p>A lot of 360 plugins are built by people who never touched a drone. This one wasn't.<\/p>\n\n<ul>\n<li><strong>DJI Matrice and other drone panoramas<\/strong> \u2014 WordPress quietly re-compresses anything over 2560px into a <code>-scaled.jpg<\/code> since 5.3, which is fine for a blog photo and terrible for a 40MP aerial panorama. The plugin ships with its own <code>ImageResolver<\/code> that grabs the original upload instead, so fine detail doesn't turn to mush.<\/li>\n<li><strong>Ricoh Theta, Insta360, GoPro MAX, Qoocam, Kandao<\/strong> \u2014 any properly stitched equirectangular JPEG or PNG just works, no special export needed.<\/li>\n<li><strong>Google Street View and Android Photo Sphere<\/strong> \u2014 same deal, drop the file in and go.<\/li>\n<li><strong>Gyroscope viewing (Pro)<\/strong> \u2014 point a phone around and the panorama follows, VR-headset style, over HTTPS.<\/li>\n<\/ul>\n\n<h4>\ud83e\udded Four viewers<\/h4>\n\n<p><strong>Panorama viewer<\/strong> \u2014 the original use case. Upload an equirectangular JPEG\/PNG, visitors drag, pinch and zoom on desktop or mobile. Set field of view, zoom limits, movement speed, a starting yaw\/pitch, fullscreen, and a caption navbar with zoom and download buttons. Pro adds auto-rotation, on-screen move buttons, a description panel and clickable info hotspots.<\/p>\n\n<p><strong>Virtual tour builder<\/strong> \u2014 string together as many scenes as you want, connected with 3D arrow hotspots. Each scene gets its own starting angle and caption, and you pick which one loads first. Good fit for real estate walkthroughs, hotel tours, museum floor plans. Pro adds a scene gallery bar, a compass overlay, auto-rotation, on-screen move buttons and a description panel.<\/p>\n\n<p><strong>360\u00b0 video player<\/strong> \u2014 same dragging\/looking-around interaction, but for an equirectangular MP4 instead of a still image. Play\/pause, seek, volume. Pro unlocks muted autoplay and loop.<\/p>\n\n<p><strong>AR 3D model viewer<\/strong> \u2014 embeds a .glb\/.gltf model via Google's <code>&lt;model-viewer&gt;<\/code>, with an AR button on phones that support it. Point it at a WordPress Media Library file or an external URL, set a poster image, auto-rotate, shadow intensity and alignment. Pro adds HDR environment lighting, a skybox background, custom camera orbit, and the ability to lock zoom\/tap-to-rotate if you're building a fixed product showcase.<\/p>\n\n<h4>\ud83e\udde9 Add it wherever you build pages<\/h4>\n\n<ul>\n<li><strong>Elementor<\/strong> \u2014 four separate widgets (Photo Sphere Viewer, PSV Virtual Tour, PSV 360\u00b0 Video, AR 3D Viewer), each of which can be switched off individually from the admin panel if you don't need it cluttering the widget list.<\/li>\n<li><strong>Block editor (Gutenberg)<\/strong> \u2014 a <strong>360\u00b0 Panorama<\/strong> block: pick a photo, set the toolbar, height and info hotspots from the sidebar, done. Shortcodes work too, in a Shortcode block.<\/li>\n<li><strong>Shortcode Builder<\/strong> \u2014 a visual admin screen that spits out <code>[psv]<\/code>, <code>[psv_tour]<\/code>, <code>[psv_video]<\/code>, and <code>[psv_ar]<\/code> shortcodes you can paste into a WooCommerce product description, a theme widget area, or anywhere else shortcodes render.<\/li>\n<\/ul>\n\n<h4>What else is in the box<\/h4>\n\n<ul>\n<li>Fully responsive, touch-optimized drag\/pinch on mobile<\/li>\n<li>Navbar buttons toggle individually \u2014 zoom, caption, fullscreen and download free; auto-rotation, move and the description panel with Pro<\/li>\n<li>Style controls for navbar background, caption color, typography, alignment<\/li>\n<li>Width\/height in px, %, vh or vw<\/li>\n<li>Default yaw (-180\u00b0 to 180\u00b0) and pitch (-90\u00b0 to 90\u00b0)<\/li>\n<li>Custom canvas background color<\/li>\n<li>Mouse-wheel zoom, drag movement, two-finger touch, Ctrl+scroll, cursor capture and fisheye toggles<\/li>\n<li>Original-resolution image loading for panoramas larger than WordPress's 2560px threshold (Pro)<\/li>\n<li>Built on Vite, so the frontend bundle stays small<\/li>\n<li>Translation-ready (text domain <code>photo-sphere-viewer<\/code>, loads from <code>\/languages\/<\/code>)<\/li>\n<li>A clean shortcode API and Elementor widget hooks if you're extending it yourself<\/li>\n<\/ul>\n\n<h4>Who actually uses this<\/h4>\n\n<p>Real estate agents doing property walkthroughs, hotels and vacation rentals showing off rooms before booking, 360\u00b0 photographers building portfolios, museums and campuses doing self-guided tours, WooCommerce stores adding 360\u00b0 product views or AR models, architects showing before\/after spaces, and drone pilots who just want their DJI panoramas to not look blurry on the web.<\/p>\n\n<h4>Plays nicely with<\/h4>\n\n<p>Elementor, Elementor Pro, the block editor, WooCommerce, Yoast SEO, Rank Math, WPML, Polylang, and the usual caching suspects \u2014 WP Rocket, LiteSpeed Cache, W3 Total Cache. Tested against DJI Matrice\/Mavic, Ricoh Theta, Insta360, GoPro MAX, Qoocam, Kandao, and Google Street View exports.<\/p>\n\n<h3>How It Works<\/h3>\n\n<h4>Using Elementor<\/h4>\n\n<p>Open the Elementor editor, search the widget panel for Photo Sphere Viewer, PSV Virtual Tour, PSV 360\u00b0 Video, or AR 3D Viewer, drag one into your layout, then upload your image\/video and set the navbar and styling options.<\/p>\n\n<h4>Using the block editor<\/h4>\n\n<p>Add the <strong>360\u00b0 Panorama<\/strong> block, choose an equirectangular photo, and set the caption, height, toolbar buttons and info hotspots in the sidebar. For tours, 360\u00b0 video and 3D models, build a shortcode with the Shortcode Builder and drop it into a Shortcode block.<\/p>\n\n<h4>Using Shortcodes<\/h4>\n\n<p>Build one visually with the Shortcode Builder in the admin menu, or write the attributes by hand if you know what you're doing.<\/p>\n\n<h3>External services<\/h3>\n\n<p><strong>Google Hosted Libraries \u2014 <code>&lt;model-viewer&gt;<\/code><\/strong><\/p>\n\n<p>The AR 3D Viewer loads Google's <code>model-viewer<\/code> web component from <code>https:\/\/ajax.googleapis.com\/ajax\/libs\/model-viewer\/3.4.0\/model-viewer.min.js<\/code>. It is requested by the visitor's browser only on pages that actually contain an AR 3D Viewer widget or a <code>[psv_ar]<\/code> shortcode; pages without one make no request. Loading a script from Google's CDN exposes the visitor's IP address and user agent to Google, as any externally hosted asset does. No other data is sent, and the plugin sends nothing to this service itself.<\/p>\n\n<p>Google Hosted Libraries terms: https:\/\/developers.google.com\/terms\nGoogle privacy policy: https:\/\/policies.google.com\/privacy<\/p>\n\n<p>If another plugin has already registered the <code>psv-ar-model-viewer<\/code> script handle, this plugin defers to it and makes no request of its own.<\/p>\n\n<p><strong>Freemius<\/strong><\/p>\n\n<p>Licensing, updates and the optional usage-data opt-in are handled by Freemius. Nothing is sent unless you opt in during activation. Terms: https:\/\/freemius.com\/terms\/ \u2014 Privacy: https:\/\/freemius.com\/privacy\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>photo-sphere-viewer<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install it straight from the WordPress plugin directory.<\/li>\n<li>Activate it under <strong>Plugins<\/strong>.<\/li>\n<li>Add 360\u00b0 content with the <strong>360\u00b0 Panorama<\/strong> block, an Elementor widget, or a shortcode built under the Photo Sphere Viewer admin menu.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20image%20and%20video%20formats%20are%20supported%3F\"><h3>What image and video formats are supported?<\/h3><\/dt>\n<dd><p>Equirectangular JPEG or PNG for panoramas, MP4 (or most common web video formats) for 360 video, and .glb\/.gltf for the AR viewer.<\/p><\/dd>\n<dt id=\"do%20i%20need%20elementor%20to%20use%20this%3F\"><h3>Do I need Elementor to use this?<\/h3><\/dt>\n<dd><p>No \u2014 shortcodes cover everything the Elementor widgets do. Shortcodes in particular go pretty much anywhere: posts, pages, widget areas, theme builders, even WooCommerce product descriptions.<\/p><\/dd>\n<dt id=\"my%20drone%20panoramas%20look%20soft%2Fblurry%20once%20uploaded%20%E2%80%94%20why%3F\"><h3>My drone panoramas look soft\/blurry once uploaded \u2014 why?<\/h3><\/dt>\n<dd><p>That's WordPress doing it, not the plugin. Since 5.3, anything over 2560px on its long edge gets saved as a <code>-scaled.jpg<\/code> and served instead of your original. The plugin's <code>ImageResolver<\/code> can bypass that and load the real upload instead. It's a Pro feature \u2014 switch it on with the \"Use Original Image\" control in any Elementor widget, or <code>use_original=\"yes\"<\/code> on a shortcode.<\/p><\/dd>\n<dt id=\"does%20it%20support%20ricoh%20theta%2C%20insta360%2C%20gopro%20max%2C%20or%20google%20street%20view%20exports%3F\"><h3>Does it support Ricoh Theta, Insta360, GoPro MAX, or Google Street View exports?<\/h3><\/dt>\n<dd><p>Yes, along with Qoocam, Kandao, and Android Photo Sphere XMP captures. Anything that's a properly stitched equirectangular image works without conversion.<\/p><\/dd>\n<dt id=\"is%20it%20usable%20on%20a%20phone%3F\"><h3>Is it usable on a phone?<\/h3><\/dt>\n<dd><p>Yes \u2014 drag-to-look, pinch-to-zoom, two-finger gestures all work on touch. Pro adds gyroscope mode so tilting the phone moves the view, which needs HTTPS to work.<\/p><\/dd>\n<dt id=\"can%20a%20tour%20have%20more%20than%20one%20scene%3F\"><h3>Can a tour have more than one scene?<\/h3><\/dt>\n<dd><p>As many as you want. Link them with 3D arrow hotspots, give each one its own caption and starting angle, and choose which scene opens first. Works in both the Elementor PSV Virtual Tour widget and the <code>[psv_tour]<\/code> shortcode.<\/p><\/dd>\n<dt id=\"what%20about%20360%20video%3F\"><h3>What about 360 video?<\/h3><\/dt>\n<dd><p>The PSV 360\u00b0 Video widget or <code>[psv_video]<\/code> shortcode handle that \u2014 play\/pause, seek, volume in the navbar. Autoplay and loop are Pro-only.<\/p><\/dd>\n<dt id=\"can%20i%20put%20a%203d%2Far%20model%20on%20a%20page%3F\"><h3>Can I put a 3D\/AR model on a page?<\/h3><\/dt>\n<dd><p>Yes, through the AR 3D Viewer widget or <code>[psv_ar]<\/code> shortcode. It renders .glb\/.gltf files via Google's <code>&lt;model-viewer&gt;<\/code> and shows an AR button on phones that support it. Pro adds HDR lighting, a skybox, custom camera orbit, and locks for zoom\/tap-to-rotate \u2014 useful if you're building a product configurator and don't want visitors spinning things by accident.<\/p><\/dd>\n<dt id=\"how%20do%20i%20change%20the%20starting%20view%20angle%3F\"><h3>How do I change the starting view angle?<\/h3><\/dt>\n<dd><p>Every panorama and tour scene has a starting yaw (-180\u00b0 to 180\u00b0) and pitch (-90\u00b0 to 90\u00b0), set in the Elementor controls or via the <code>default_yaw<\/code>\/<code>default_pitch<\/code> shortcode attributes.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20woocommerce%20product%20pages%3F\"><h3>Does it work on WooCommerce product pages?<\/h3><\/dt>\n<dd><p>Yes, through shortcodes or Elementor templates \u2014 a reasonable alternative to paying for a hosted 360-product-viewer service.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20my%20site%20down%3F\"><h3>Will this slow my site down?<\/h3><\/dt>\n<dd><p>It shouldn't \u2014 the frontend is built with Vite and only loads on pages that actually use a viewer. No conflicts we're aware of with WP Rocket, LiteSpeed Cache, or W3 Total Cache.<\/p><\/dd>\n<dt id=\"is%20it%20translatable%3F\"><h3>Is it translatable?<\/h3><\/dt>\n<dd><p>Yes, text domain <code>photo-sphere-viewer<\/code>, translations load from <code>\/languages\/<\/code>. Works with WPML and Polylang.<\/p><\/dd>\n<dt id=\"what%20do%20i%20get%20with%20pro%20that%20i%20don%27t%20get%20free%3F\"><h3>What do I get with Pro that I don't get free?<\/h3><\/dt>\n<dd><p>Free gives you all four viewers with no limits: unlimited panoramas, unlimited tour scenes, 360\u00b0 video, AR 3D models, and the navigation toolbar \u2014 zoom, caption, download and fullscreen on every viewer.<\/p>\n\n<p>Pro adds: auto-rotation on every viewer, clickable info hotspots \u2014 points on the panorama that show a label on hover and open a panel with a photo, text and a link, which is what property and venue tours are built on \u2014 full-resolution original loading (so a 40MP drone panorama keeps its detail instead of WordPress's 2560px copy), the scene gallery bar and compass overlay for virtual tours, the panorama gallery, gyroscope viewing on phones, restricted viewing angles, on-screen move buttons and the description panel, 360\u00b0 video autoplay and loop, HDR environment lighting, skybox, camera orbit and gesture locks for 3D models, and priority email support. The Upgrade screen inside the plugin shows the full comparison.<\/p><\/dd>\n<dt id=\"can%20i%20get%20a%20refund%20on%20pro%3F\"><h3>Can I get a refund on Pro?<\/h3><\/dt>\n<dd><p>There's a 30-day money-back guarantee if it's not a fit.<\/p><\/dd>\n<dt id=\"where%20do%20i%20get%20help%3F\"><h3>Where do I get help?<\/h3><\/dt>\n<dd><p>Free users can post on the <a href=\"https:\/\/wordpress.org\/support\/plugin\/photo-sphere-viewer\/\">WordPress.org support forum<\/a>. Pro license holders get direct email support from the WPXERO team.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.3.0 [September 11, 2026]<\/h4>\n\n<ul>\n<li>Added: <strong>360\u00b0 Panorama block<\/strong> for the block editor \u2014 pick a photo, then set the caption, height, toolbar and info hotspots from the sidebar<\/li>\n<li>Added: <strong>Block Editor card<\/strong> on the Integration screen, with its own guide and on\/off switch. Each integration screen now lists only its own components<\/li>\n<li>Added: <strong>Info hotspots (Pro)<\/strong> \u2014 clickable points on a panorama showing a label on hover and a panel with a photo, text and a link. Available in the block, the Elementor widget, the shortcode builder, and as a <code>hotspots<\/code> attribute on <code>[psv]<\/code><\/li>\n<li>Added: A first-run screen with a live, draggable demo panorama, so a new install shows what the plugin does before asking for any setup. It disappears once you save your first shortcode<\/li>\n<li>Added: Locked Pro controls now name the feature, say what it does for your visitors, and link to the plans with the price shown<\/li>\n<li>Changed: Fullscreen is free on every viewer, and zoom, caption and download are free in virtual tours and 360\u00b0 video \u2014 these are basic viewer navigation<\/li>\n<li>Changed: Auto-rotation is a Pro feature on every surface \u2014 the Elementor widgets, the block and the shortcodes \u2014 rather than being free in some places and paid in others<\/li>\n<li>Changed: The <code>[psv]<\/code> shortcode honours the same Free\/Pro boundary as the Elementor widgets. Move buttons, the description panel and the panorama gallery are Pro there too, and <code>use_original<\/code> \u2014 full-resolution loading \u2014 is a Pro feature on both surfaces. Free panoramas load WordPress's standard image, as they already did in the Elementor widget<\/li>\n<li>Changed: Upgrade links open Freemius checkout inside the WordPress dashboard when that page is available on your site, and the plans page otherwise<\/li>\n<li>Changed: Promotional messaging is held back for the first week after activation<\/li>\n<li>Changed: The plugin's own admin screen no longer hides WordPress's update and security notices, or licence messages \u2014 only unrelated plugins' notices are tidied away<\/li>\n<li>Changed: Deleting the plugin now removes its own data \u2014 saved shortcodes, options and transients, across every site on a network. Deactivating still leaves everything in place<\/li>\n<li>Fixed: The Pro upgrade panel did not appear at all in the Elementor editor on sites running Elementor Pro, because it relied on a control type Elementor only registers when Pro is absent<\/li>\n<li>Fixed: <code>[psv_video]<\/code> produced an empty viewer \u2014 the shortcode path never attached the 360\u00b0 video adapter<\/li>\n<li>Fixed: Pro video autoplay and loop had no effect; both were resolved server-side and then discarded before reaching the player<\/li>\n<li>Fixed: Turning off \"MouseWheel\" or \"Mouse Move\" did nothing \u2014 disabled options were being stripped out before reaching the viewer<\/li>\n<li>Fixed: The Free\/Pro comparison table listed features incorrectly in both directions; it is now generated from the same tier map the viewers use<\/li>\n<li>Fixed: A Pro user who switched every premium navbar toggle off had the free defaults silently restored<\/li>\n<li>Fixed: The welcome screen after activation never actually opened<\/li>\n<li>Fixed: Enabling a panorama gallery alongside Pro could drop the gallery button from the toolbar<\/li>\n<li>Security: Added capability checks to the shortcode-manager AJAX endpoints, which previously verified only the nonce<\/li>\n<li>Improved: The Vite dev-server probe no longer runs on production or staging sites, where it could add up to a second to page load whenever its cache expired<\/li>\n<li>Documentation: Disclosed the Google-hosted <code>model-viewer<\/code> script used by the AR viewer, and removed references to a Gutenberg block that did not exist yet<\/li>\n<\/ul>\n\n<h4>2.2.5 [August 23, 2026]<\/h4>\n\n<ul>\n<li>Fixed: Shortcode Builder's Virtual Tour live preview could copy a <code>[psv_tour]<\/code> shortcode missing its required <code>scenes<\/code> attribute<\/li>\n<\/ul>\n\n<h4>2.2.4 [July 31, 2026]<\/h4>\n\n<ul>\n<li>Added: Proper uninstall handling \u2014 fires Freemius uninstall event for the free plugin on delete<\/li>\n<li>Removed: \"Coming Soon\" Gutenberg card from the admin Integration screen<\/li>\n<li>Improved: Updated Freemius SDK to 2.13.4<\/li>\n<\/ul>\n\n<h4>2.2.3 [June 06, 2026]<\/h4>\n\n<ul>\n<li>Fixed: Shortcode panoramas failing on pages without jQuery<\/li>\n<li>Improved: Asset loading and Vite dev-server detection<\/li>\n<li>Improved: Centralized Pro add-on detection<\/li>\n<li>Improved: Updated Elementor widget icons<\/li>\n<li>Improved: Code cleanup across widgets and shortcode manager<\/li>\n<\/ul>\n\n<h4>2.2.2 [May 22, 2026]<\/h4>\n\n<ul>\n<li>Improved: improve plugin performance and stability<\/li>\n<li>Fixed: various minor bug fixes and stability improvements<\/li>\n<\/ul>\n\n<h4>2.2.1 [May 20, 2026]<\/h4>\n\n<ul>\n<li>Fixed: High-resolution panorama detail loss by loading original images instead of scaled versions<\/li>\n<li>Improved: stability and performance<\/li>\n<\/ul>\n\n<h4>2.2.0 [May 05, 2026]<\/h4>\n\n<ul>\n<li>Added: AR 3D Viewer \u2014 Elementor widget and <code>[psv_ar]<\/code> shortcode for .glb\/.gltf models (model-viewer; optional AR on supported devices)<\/li>\n<li>Improved: Admin dashboard UI \u2014 styling, navigation, and Upgrade page comparison table (including AR 3D Viewer Free vs Pro)<\/li>\n<li>Improved: Tested compatibility through WordPress 7.0.0<\/li>\n<\/ul>\n\n<h4>2.1.1 [April 13, 2026]<\/h4>\n\n<ul>\n<li>Fixed: Compatibility with WordPress 7.0 and Elementor 4.0.1<\/li>\n<\/ul>\n\n<h4>2.1.0 [March 07, 2026]<\/h4>\n\n<ul>\n<li>Added: Virtual tour support for both widget and shortcode implementations<\/li>\n<li>Added: 360\u00b0 video playback support for widget and shortcode<\/li>\n<li>Added: Gallery view support for widget and shortcode<\/li>\n<li>Added: Starting position (yaw\/pitch) controls for panorama and tour scenes<\/li>\n<li>Improved: Compatibility with WordPress 6.9 and Elementor 3.35.5<\/li>\n<li>Improved: Performance optimizations for faster panorama rendering<\/li>\n<li>Fixed: Image display issue in Elementor 3.35.5 when placing widget inside columns<\/li>\n<li>Fixed: Multiple Photo Sphere Viewer widgets rendering incorrectly within the same section in editor mode<\/li>\n<li>Fixed: Duplicate frontend initialization on Elementor pages<\/li>\n<li>Fixed: Various minor bug fixes and stability improvements<\/li>\n<\/ul>\n\n<h4>2.0.3 [February 13, 2026]<\/h4>\n\n<ul>\n<li>Fixed: Assets enqueue issue<\/li>\n<\/ul>\n\n<h4>2.0.2 [February 09, 2026]<\/h4>\n\n<ul>\n<li>Improved: Compatibility updates for WordPress 6.9 and Elementor 3.35.3<\/li>\n<li>Improved: Performance improvements and bug fixes<\/li>\n<\/ul>\n\n<h4>2.0.1 [December 03, 2025]<\/h4>\n\n<ul>\n<li>Fixed: Upgrade notice issue<\/li>\n<li>Added: Pro version pricing link<\/li>\n<li>Improved: Compatibility with latest WordPress &amp; Elementor versions<\/li>\n<\/ul>\n\n<h4>2.0.0 [November 29, 2025]<\/h4>\n\n<ul>\n<li>Added: Shortcode builder<\/li>\n<li>Improved: Refactored codebase for improved performance<\/li>\n<li>Added: Pro version<\/li>\n<\/ul>\n\n<h4>1.3.3 [October 01, 2025]<\/h4>\n\n<ul>\n<li>Improved: Compatibility updates<\/li>\n<li>Improved: Documentation improvements<\/li>\n<\/ul>\n\n<h4>1.3.2 [May 01, 2025]<\/h4>\n\n<ul>\n<li>Improved: Compatibility updates<\/li>\n<\/ul>\n\n<h4>1.3.1 [December 21, 2024]<\/h4>\n\n<ul>\n<li>Improved: System improvements<\/li>\n<li>Improved: Compatibility updates<\/li>\n<\/ul>\n\n<h4>1.3.0 [October 09, 2024]<\/h4>\n\n<ul>\n<li>Improved: Compatibility updates<\/li>\n<\/ul>\n\n<h4>1.2.0 [October 09, 2023]<\/h4>\n\n<ul>\n<li>Improved: Compatibility updates<\/li>\n<\/ul>\n\n<h4>1.1.0 [March 15, 2023]<\/h4>\n\n<ul>\n<li>Improved: Elementor compatibility update<\/li>\n<\/ul>\n\n<h4>1.0.1 [May 15, 2022]<\/h4>\n\n<ul>\n<li>Added: Shortcode feature<\/li>\n<\/ul>\n\n<h4>1.0.0 [February 06, 2022]<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Embed 360\u00b0 panoramas, multi-scene virtual tours, 360 video and AR-ready 3D models in WordPress. Works with the block editor, Elementor and shortcodes.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/156178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=156178"}],"author":[{"embeddable":true,"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpxero"}],"wp:attachment":[{"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=156178"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=156178"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=156178"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=156178"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=156178"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/th.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=156178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}