Version Description
(18-09-2020) = * Import/Export modified * Mobile media resizer switch added * Ocean theme conflict fixed
=
Download this release
Release Info
Developer | rextheme |
Plugin | WP VR – 360 Panorama and virtual tour creator for WordPress |
Version | 6.7.0 |
Comparing to | |
See all releases |
Code changes from version 6.6.0 to 6.7.0
- README.txt +225 -124
- admin/class-wpvr-admin.php +30 -28
- admin/class-wpvr-ajax.php +59 -0
- admin/css/wpvr-admin.css +41 -1
- admin/js/wpvr-admin.js +15 -2
- admin/partials/wpvr_documentation.php +28 -0
- public/class-wpvr-public.php +30 -36
- public/css/wpvr-public.css +4 -0
- wpvr.php +24 -30
README.txt
CHANGED
@@ -1,140 +1,209 @@
|
|
1 |
-
=== WP VR - 360 Panorama and
|
2 |
Contributors: rextheme, coderexco
|
|
|
3 |
Donate link: https://rextheme.com/wp-vr-360-panorama-and-virtual-tour-creator-for-wordpress/
|
4 |
-
|
5 |
-
Requires at least: 4.0
|
6 |
Tested up to: 5.5.1
|
7 |
-
Stable tag: 6.6.0
|
8 |
Requires PHP: 7.0.0
|
|
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
12 |
-
Let site visitors take a virtual tour and get them excited!! Let them experience
|
13 |
|
14 |
== Description ==
|
15 |
-
Create amazing virtual tours on your own easily using
|
16 |
|
17 |
-
With
|
18 |
|
19 |
-
Simply provide a 360 panoramic image, and this plugin will transform it into a realistic tour.
|
20 |
-
|
21 |
-
|
22 |
-
>WPVR is fully compatible with Gutenberg Block Editor and Elementor Page Builder.
|
23 |
|
|
|
24 |
|
25 |
[Demo Virtual Tour (Pro)](https://rextheme.com/wpvr/#demo-tour) | [Documentation](https://rextheme.com/docs/wp-vr/) | [Premium Version](https://rextheme.com/wpvr/)
|
26 |
|
27 |
-
== Why Use WPVR? ==
|
28 |
-
WPVR gives all the features needed to create a quality virtual tour without any hassle.
|
29 |
|
30 |
https://www.youtube.com/watch?v=SWsv-bplne8
|
31 |
|
32 |
-
|
|
|
|
|
33 |
|
34 |
-
|
35 |
-
Simple, easy, and straight forward options to add your 360 panoramic images and create a virtual tour.
|
36 |
|
37 |
-
|
38 |
|
39 |
-
|
|
|
|
|
40 |
|
41 |
>Read detailed [documentation](https://rextheme.com/docs/wp-vr/) and [video tutorials](https://www.youtube.com/playlist?list=PLelDqLncNWcUndi1NkXJh2BH62OYmIayt) for assistance.
|
42 |
|
43 |
-
**Create
|
44 |
-
Add several scenes and add hotspots to connect them into a tour. Create multiple hotspots for every scene at your own will, to connect to different scenes and generate a realistic tour experience.
|
45 |
|
46 |
-
|
47 |
|
48 |
-
|
49 |
|
|
|
50 |
|
51 |
-
|
52 |
-
WPVR comes with over 900+ custom icons to choose from, to use as hotspots. It features to change colors and add blinking animation to the custom icons to make the hotspots more catchy.
|
53 |
|
54 |
-
|
55 |
|
56 |
-
|
57 |
|
58 |
-
|
59 |
|
60 |
-
|
61 |
-
Once a tour is created, it will generate a tour ID which is used to embed the tour on the website either through Gutenberg block or Elementor widget.
|
62 |
|
63 |
-
|
64 |
|
65 |
-
|
66 |
-
On Gutenberg block editor has the WPVR block under the common blocks. It is used to embed the virtual tour. Provide the tour ID and assign your desired width and height, and the tour will be embedded.
|
67 |
|
68 |
-
**
|
69 |
-
The Elementor page builder will have a WPVR widget under the general widgets. Drag and drop the widget onto the page. Provide the tour ID and set your required width and height to get a live preview.
|
70 |
|
71 |
-
|
72 |
|
|
|
73 |
|
74 |
-
|
75 |
-
* Gutenberg block support
|
76 |
-
* Elementor widget support
|
77 |
-
* Responsive default design
|
78 |
-
* Preview tour on back-end
|
79 |
-
* Add multiple scenes and hotspots
|
80 |
-
* Auto rotation with speed control
|
81 |
-
* Auto rotation pause and stop control
|
82 |
-
* Keyboard direction keys or mouse to navigate
|
83 |
-
* Keyboard +/- keys or mouse scroll to control zoom
|
84 |
-
* Scene type hotspot to connect scenes
|
85 |
-
* Info type hotspots to give information, on-click or hover
|
86 |
-
* Embed video, image or website link to hotspots
|
87 |
-
* On screen controls and full screen mode
|
88 |
-
* Hotspot customization with custom CSS
|
89 |
-
* Scene fade animation
|
90 |
-
* Full width tour tag
|
91 |
-
* 360 Video embed support
|
92 |
-
* Radius tag for VR border radius
|
93 |
-
* Control plugin scripts and styles to load them on specific pages only.
|
94 |
-
* Plugin Rollback support
|
95 |
-
* Oxygen builder support
|
96 |
-
* Multi-site support
|
97 |
-
* Support from support forum
|
98 |
-
|
99 |
-
|
100 |
-
= PREMIUM FEATURES =
|
101 |
-
* All free features
|
102 |
-
* Unlimited scenes and hotspots (limited to 5 in free version)
|
103 |
-
* Gyroscope support on mobile devices
|
104 |
-
* 900+ premium hotspot icons
|
105 |
-
* Color picker for custom hotspot
|
106 |
-
* Control max, min and default zoom level
|
107 |
-
* Scene boundary control
|
108 |
-
* Custom default scene face
|
109 |
-
* Custom compass for panorama
|
110 |
-
* Add scene title and description tag
|
111 |
-
* File export and import (for WPVR only)
|
112 |
-
* Duplicate tour on one click
|
113 |
-
* Custom scene gallery
|
114 |
-
* Custom control buttons
|
115 |
-
* Google street view embed
|
116 |
-
* Company logo
|
117 |
-
* Partial Panorama
|
118 |
-
* User role support
|
119 |
-
* Mouse scroll switch
|
120 |
-
* 360 video autoplay and loop switch
|
121 |
-
* VR background music support
|
122 |
-
* Personalized support (e-mail or forum)
|
123 |
|
124 |
-
|
125 |
|
126 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
|
129 |
-
>
|
130 |
|
131 |
**Upcoming Features**
|
132 |
-
|
133 |
– Flat Image Support
|
134 |
-
-
|
135 |
-
-
|
|
|
136 |
|
137 |
-
**[Documentation](https://rextheme.com/docs/wp-vr/)**
|
138 |
|
139 |
## Privacy Policy
|
140 |
WP VR uses [Appsero](https://appsero.com) SDK to collect some telemetry data upon user's confirmation. This helps us to troubleshoot problems faster & make product improvements.
|
@@ -146,45 +215,72 @@ Integrating Appsero SDK **DOES NOT IMMEDIATELY** start gathering data, **without
|
|
146 |
Learn more how [Appsero collects and uses this data](https://appsero.com/privacy-policy/).
|
147 |
|
148 |
== Frequently Asked Questions ==
|
149 |
-
= 1. Why should I use WPVR? =
|
150 |
-
You can easily create a Virtual Tour for your place using WPVR. You simply need to provide a 360 degree panoramic photo, and this plugin will create a virtual tour which visitors can navigate easily. You can further add hotspots to include information or add more scenes to navigate to.
|
151 |
|
152 |
-
=
|
153 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
|
155 |
-
|
156 |
-
To make a perfect equirectangular image, you need to use a 360 degree panoramic photo of the area you want to preview.
|
157 |
|
158 |
-
|
159 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
|
161 |
-
= 5. Can I Customize the Content on the hotspot? =
|
162 |
Yes. You can create a custom class on your theme, stating whatever style you want. Then you can input the class name on the Hotspot Custom Class section in a hotspot, and the content displayed will be customized according to the style you set.
|
163 |
|
164 |
-
=
|
165 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
|
167 |
-
= 7. What do I do if I get “THE FILE (image link) COULD NOT BE ACCESSED” error? =
|
168 |
Sometimes when you add a tour on your site, you might face this issue that rather than loading the tour it will give the error “THE FILE (…) COULD NOT BE ACCESSED.”
|
169 |
|
170 |
This error shows up when you are running a website under “HTTPS” (secured with SSL certificate) whereas your image link is under “HTTP” (unsecured).
|
171 |
|
172 |
-
To solve this issue, go to your WordPress Dashboard > Settings > General. Here make sure you have “https” added to both “WordPress Address (URL)” and “Site Address (URL)”. That’s it. Your virtual tour will load with no issues.
|
173 |
|
174 |
-
=
|
175 |
-
1. Go to Settings > Safari
|
176 |
-
2. Scroll down to the Privacy & Security section
|
177 |
-
3. Enable Motion & Orientation Access
|
178 |
|
179 |
-
|
180 |
|
181 |
-
|
182 |
|
183 |
-
=
|
184 |
-
If you use Autoptimize, then you need to exclude our plugin from their minification function.
|
185 |
|
186 |
-
|
187 |
|
|
|
188 |
|
189 |
== Screenshots ==
|
190 |
1. Gutenberg Block
|
@@ -207,7 +303,7 @@ Simply add "/plugins/wpvr" to exclusion field (or use the location where you sto
|
|
207 |
* On screen control available.
|
208 |
|
209 |
= 1.0.1 =
|
210 |
-
* Default scene can be selected from scene tab.
|
211 |
* Default height and width given for shortcodes.
|
212 |
|
213 |
= 2.0.0 =
|
@@ -223,7 +319,7 @@ Simply add "/plugins/wpvr" to exclusion field (or use the location where you sto
|
|
223 |
* Rotation pause and stop control
|
224 |
|
225 |
= 2.1.1 =
|
226 |
-
* Dynamic Font-Awesome icon added for
|
227 |
* Dynamic color picker added for hotspot color.
|
228 |
* Custom panorama compass support.
|
229 |
* Default zoom level.
|
@@ -248,7 +344,7 @@ Simply add "/plugins/wpvr" to exclusion field (or use the location where you sto
|
|
248 |
* Rextheme link removed from premium version.
|
249 |
|
250 |
= 2.5.0 =
|
251 |
-
* Gyroscope support on premium version.
|
252 |
* Appsero error fix.
|
253 |
* Gutenberg block column layout fix.
|
254 |
|
@@ -264,7 +360,7 @@ Simply add "/plugins/wpvr" to exclusion field (or use the location where you sto
|
|
264 |
* Dynamic error reporting added.
|
265 |
|
266 |
= 2.9.0 =
|
267 |
-
* Tour selector updated on
|
268 |
|
269 |
= 3.0.0 =
|
270 |
* File import & export system added.
|
@@ -277,7 +373,7 @@ Simply add "/plugins/wpvr" to exclusion field (or use the location where you sto
|
|
277 |
* Modified preview window.
|
278 |
|
279 |
= 3.2.0 =
|
280 |
-
* Custom scene gallery conflict and bug fix for
|
281 |
|
282 |
= 3.3.0 =
|
283 |
* Placeholder change.
|
@@ -290,7 +386,7 @@ Simply add "/plugins/wpvr" to exclusion field (or use the location where you sto
|
|
290 |
|
291 |
= 3.4.2 =
|
292 |
* Gallery carousal design fix
|
293 |
-
*
|
294 |
|
295 |
= 3.4.3 =
|
296 |
* Autorotation error fix
|
@@ -325,7 +421,7 @@ Simply add "/plugins/wpvr" to exclusion field (or use the location where you sto
|
|
325 |
* js optimization removed
|
326 |
|
327 |
= 3.7.0 =
|
328 |
-
* Partial Panorama for pro version
|
329 |
|
330 |
= 3.8.0 =
|
331 |
* Load box design changed
|
@@ -371,7 +467,7 @@ Simply add "/plugins/wpvr" to exclusion field (or use the location where you sto
|
|
371 |
* Scene title field added for gallery content
|
372 |
|
373 |
= 5.0.0 =
|
374 |
-
* Home button added to return to default scene
|
375 |
|
376 |
= 5.1.0 (26-03-2020) =
|
377 |
* Auto device based gyro enable added
|
@@ -389,7 +485,7 @@ Simply add "/plugins/wpvr" to exclusion field (or use the location where you sto
|
|
389 |
= 5.5.0 (12-05-2020) =
|
390 |
* Custom control conflict fixed
|
391 |
* On click container fixed
|
392 |
-
* Self hosted video pause on cross button
|
393 |
|
394 |
= 5.6.0 (15-06-2020) =
|
395 |
* VR background music support
|
@@ -442,7 +538,12 @@ Simply add "/plugins/wpvr" to exclusion field (or use the location where you sto
|
|
442 |
* Preview gallery modified
|
443 |
* Mobile media resizer modified
|
444 |
* Video tab bug fixed
|
445 |
-
* Allow
|
|
|
|
|
|
|
|
|
|
|
446 |
|
447 |
== Upgrade Notice ==
|
448 |
-
Please do update the WP VR to the latest version. Each update makes
|
1 |
+
=== WP VR - 360 Panorama and Virtual Tour Creator For WordPress ===
|
2 |
Contributors: rextheme, coderexco
|
3 |
+
Tags: virtual tour, real estate tour, panorama, panorama viewer, virtual tour, 360 panorama, interactive tour, 360, streetview, virtual reality, 360 video, virtual, vr, interactive, 360-degree, equirectangular, google streetview, panoramas
|
4 |
Donate link: https://rextheme.com/wp-vr-360-panorama-and-virtual-tour-creator-for-wordpress/
|
5 |
+
Requires at least: 5.0
|
|
|
6 |
Tested up to: 5.5.1
|
|
|
7 |
Requires PHP: 7.0.0
|
8 |
+
Stable tag: 6.7.0
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
12 |
+
Let site visitors take a virtual tour and get them excited!! Let them experience a glimpse of a live tour of your place.
|
13 |
|
14 |
== Description ==
|
15 |
+
Create amazing virtual tours on your own easily using WP VR. Let visitors take a tour of your place remotely, and get them more excited.
|
16 |
|
17 |
+
With WP VR, you can create a virtual tour where visitors can navigate a 360 view of your location, switch between several scenes, get information on items on the location, zoom in and out to get a better view, and get an overall idea about how your place may look in reality.
|
18 |
|
19 |
+
Simply provide a 360 panoramic image, and this plugin will transform it into a realistic virtual tour.
|
|
|
|
|
|
|
20 |
|
21 |
+
>WPVR is fully compatible with Gutenberg Block Editor, Elementor Page Builder, and Oxygen Builder.
|
22 |
|
23 |
[Demo Virtual Tour (Pro)](https://rextheme.com/wpvr/#demo-tour) | [Documentation](https://rextheme.com/docs/wp-vr/) | [Premium Version](https://rextheme.com/wpvr/)
|
24 |
|
25 |
+
== Why Use WPVR? ==
|
26 |
+
WPVR gives you all the features needed to create a quality virtual tour without any hassle.
|
27 |
|
28 |
https://www.youtube.com/watch?v=SWsv-bplne8
|
29 |
|
30 |
+
**Simple Interface Optimized To Create Virtual Tours Easily**
|
31 |
+
|
32 |
+
The plugin has a simple interface, designed to let you create a virtual tour real quick, without any expertise.
|
33 |
|
34 |
+
>In fact, you can create a simple virtual tour in less than 5 mins!!
|
|
|
35 |
|
36 |
+
On top of that, you can customize the tour with more amazing features such as auto-rotation effect and scene fade animation when transmitting between scenes.
|
37 |
|
38 |
+
You can also display images or videos on hotspots, allow Gyroscope mode on mobile devices, and many more, to make the tour more attractive and engaging.
|
39 |
+
|
40 |
+
The best part is, you will get a tour preview at the back-end so that you can see what you are creating on the go.
|
41 |
|
42 |
>Read detailed [documentation](https://rextheme.com/docs/wp-vr/) and [video tutorials](https://www.youtube.com/playlist?list=PLelDqLncNWcUndi1NkXJh2BH62OYmIayt) for assistance.
|
43 |
|
44 |
+
**Create An Interactive Realistic Tour With Multiple Scenes**
|
|
|
45 |
|
46 |
+
You can add multiple 360-degree images in a virtual tour and connect them through scene type hotspots.
|
47 |
|
48 |
+
Viewers can click on the hotspots to move back and forth between the images.
|
49 |
|
50 |
+
You can also set multiple info type hotspots on each scene to show additional information about each 360 degree image or scene.
|
51 |
|
52 |
+
> You can connect up to 5 scenes, and add 5 hotspots per scene on a virtual tour. To be able to add unlimited scenes and hotspots, [click here](https://rextheme.com/wpvr)
|
|
|
53 |
|
54 |
+
**Interactive Hotspots To Create More Attraction**
|
55 |
|
56 |
+
WP VR comes with over 900+ custom icons for hotspots, that you can choose from. And you can assign a color and add a blinking/ripple animation to the custom icons to make the hotspots more catchy.
|
57 |
|
58 |
+
Also, WP VR allows you to add custom icons on your own using custom CSS.
|
59 |
|
60 |
+
You can set texts, image/GIF source, and video embedding links on hotspots. You can set these either in the On-Hover Content field or the On-Click Content field.
|
|
|
61 |
|
62 |
+
Viewers can view these contents by clicking on the hotspot or hovering over the hotspot.
|
63 |
|
64 |
+
>Contact our reliable [support team](https://rextheme.com/open-ticket) to help you out anytime.
|
|
|
65 |
|
66 |
+
**Embed Virtual Tours On Your Website Without Hassle**
|
|
|
67 |
|
68 |
+
Once you create a tour, it’s really easy to embed it on your website.
|
69 |
|
70 |
+
Simply use the WPVR Gutenberg block, WP VR Elementor Widget, WP VR Oxygen Element, or Shortcodes to embed the tour on any page or post on your website.
|
71 |
|
72 |
+
***Gutenberg Block Support***
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
|
74 |
+
On the Gutenberg block editor, it has the WP VR block under the common blocks. It is used to embed the virtual tour. Provide the tour ID and assign your desired width and height, and the tour will be embedded.
|
75 |
|
76 |
+
***Elementor Widget Support***
|
77 |
+
|
78 |
+
The Elementor page builder will have a WP VR widget under the general widgets. Drag and drop the widget onto the page. Provide the tour ID and set your required width and height to get a live preview.
|
79 |
+
|
80 |
+
***Oxygen Element Support***
|
81 |
+
|
82 |
+
The Oxygen builder will have a WP VR element Choose your tour from the list, set your desired Width and height, and Apply Params to embed the tour.
|
83 |
+
|
84 |
+
***Shortcode Support***
|
85 |
+
|
86 |
+
On Classic Editor, you can easily embed virtual tours using Shortcodes. Set your tour ID, width, height, and your tour will be embedded.
|
87 |
+
|
88 |
+
**Disable WordPress Large Image Handler To Upload High-Quality Images**
|
89 |
+
|
90 |
+
WordPress has a default large image handler that handles images with a size of more than 2560 by 1280 pixels and creates optimized versions of them.
|
91 |
+
|
92 |
+
So if you upload a very high-quality image, it will be converted to a lower resolution image.
|
93 |
+
|
94 |
+
WP VR allows you to disable this large image handler so you can create virtual tours with extremely high-resolution images.
|
95 |
+
|
96 |
+
**Control Editors and Authors from Accessing Tours**
|
97 |
+
|
98 |
+
Control the Editors and Authors of your site from accessing the virtual tours on your site.
|
99 |
+
|
100 |
+
==Who Should Use WP VR?==
|
101 |
+
|
102 |
+
- Real Estate Industry
|
103 |
+
- Educational Institutes (Schools and colleges)
|
104 |
+
- Hotels and Resorts
|
105 |
+
- Restaurants
|
106 |
+
- Travel/Tourism
|
107 |
+
- Museums
|
108 |
+
- Art Galleries
|
109 |
+
- Showrooms/Stores
|
110 |
+
- Bars/Pubs.
|
111 |
+
|
112 |
+
And many more.
|
113 |
+
|
114 |
+
To have more control over creating a virtual tour, learn about the [Premium version](https://rextheme.com/wpvr/).
|
115 |
+
|
116 |
+
==FEATURES==
|
117 |
|
118 |
+
* Developed with a Mobile-First approach
|
119 |
+
* 360 Degree Video Support (Self-hosted, Youtube and Vimeo Videos)
|
120 |
+
* Gutenberg Block Support
|
121 |
+
* Elementor Widget Support
|
122 |
+
* Shortcode Support
|
123 |
+
* Oxygen Builder Support
|
124 |
+
* Live Preview of Tour On The Back-end
|
125 |
+
* Tour Preview Image
|
126 |
+
* Tour Autoload Feature
|
127 |
+
* Scene Fade Animation
|
128 |
+
* Auto Rotation with Speed Control
|
129 |
+
* Auto Rotation Direction, Pause and Stop control
|
130 |
+
* Basic Control Buttons (Zoom In, Zoom Out, and Fullscreen)
|
131 |
+
* Mouse Drag Navigation on Virtual Tour
|
132 |
+
* Zoom In and Out with Mouse Scroll on Virtual Tour
|
133 |
+
* Zoom In and Out with ‘+’ and ‘-’ keyboard buttons
|
134 |
+
* Add Multiple Scenes and Hotspots
|
135 |
+
* Scene Type Hotspot to Connect Scenes
|
136 |
+
* Info Type Hotspots to Give Information
|
137 |
+
* On Hover and On-Click Content Option for Hotspots
|
138 |
+
* Embed Texts, Videos, Images, GIFs, and Website Links on Hotspots
|
139 |
+
* Hotspot Customization with Custom CSS
|
140 |
+
* Full-width Tour Tag
|
141 |
+
* Radius Tag for VR Border Radius
|
142 |
+
* Multi-Site Support
|
143 |
+
* WP User Role Support (Editors and Authors)
|
144 |
+
* Disable FontAwesome Option
|
145 |
+
* Disable WordPress Default Large Image Handler
|
146 |
+
* Control Plugin Assets To Load on Specific Pages/posts Only
|
147 |
+
* Enable notice for Mobile Visitors
|
148 |
+
* Mobile Media Resize Option
|
149 |
+
* Plugin Rollback Support
|
150 |
+
* Support From the Support Forum
|
151 |
+
|
152 |
+
==PREMIUM FEATURES==
|
153 |
+
|
154 |
+
* All Free Features
|
155 |
+
* Unlimited Scenes and Hotspots (Limited to 5 in The Free Version)
|
156 |
+
* 360 Video Autoplay and Loop
|
157 |
+
* Google Street View Embed Support
|
158 |
+
* Gyroscope Support on Mobile Devices
|
159 |
+
* Auto Enable Gyroscope for Mobile Devices
|
160 |
+
* Custom & Responsive Scene Gallery
|
161 |
+
* Scene Titles on Each Scene
|
162 |
+
* Scene Description (Author) & URL on Each Scene
|
163 |
+
* Scene Titles & Thumbnails on Scene Gallery
|
164 |
+
* Tour Background Music Support
|
165 |
+
* Background Music Autoplay, Loop, & Pause Control
|
166 |
+
* Set Your Company Logo on The Virtual Tour
|
167 |
+
* Set Company Description on The Logo
|
168 |
+
* Home Button to Go to The Default Scene
|
169 |
+
* On-Screen Compass for Tours
|
170 |
+
* Disable or Enable Keyboard Movement Control
|
171 |
+
* Disable or Enable Keyboard Zoom Control
|
172 |
+
* Disable or Enable Mouse Drag Control
|
173 |
+
* Disable or Enable Mouse Scroll Zoom
|
174 |
+
* Fluent Forms Integration on Hotspots
|
175 |
+
* Fill-up and Submit Booking/Contact Forms
|
176 |
+
* WooCommerce Product Integration on Hotspots
|
177 |
+
* Add To Cart Feature for WooCommerce Products on Hotspots
|
178 |
+
* Advanced Control Buttons (Move Up, Down, Left, & Right)
|
179 |
+
* Customize Icons of Each Control Button (900+ Premium Icons)
|
180 |
+
* Customize Colors of Each Control Button (RGB, HSL, & HEX)
|
181 |
+
* Enable or Disable Each Control Button
|
182 |
+
* Custom Default Scene Face for Each Scene
|
183 |
+
* Default Scene Face For Target Scene
|
184 |
+
* Partial Panorama (Mobile Panorama) Support
|
185 |
+
* Scene Boundary Control (Horizontal & Vertical)
|
186 |
+
* Set Vertical Offset of Each Scene
|
187 |
+
* Limit Vertical Scene Grab for Each Scene
|
188 |
+
* Limit Horizontal Scene Grab for Each Scene
|
189 |
+
* Control Max, Min, and Default Zoom for Each Scene
|
190 |
+
* Customize Each Hotspot Icon (900+ Premium Icons)
|
191 |
+
* Color Picker for Hotspots (RGB, HSL, & HEX)
|
192 |
+
* Tour Export and Import (For WP VR Only)
|
193 |
+
* Duplicate Tour with One Click
|
194 |
+
* Priority Support
|
195 |
+
|
196 |
+
[Upgrade to Pro](https://rextheme.com/docs/wp-vr/how-to-upgrade-to-pro/)
|
197 |
|
198 |
+
> We have many more amazing features planned. Take look at [our development roadmap.](https://app.productstash.io/roadmaps/5f0b43d9a54eda00221d5516/public)
|
199 |
|
200 |
**Upcoming Features**
|
201 |
+
|
202 |
– Flat Image Support
|
203 |
+
- Cubemap Image Support
|
204 |
+
- Multi-Resolution Panorama Support
|
205 |
+
- Floor Plan
|
206 |
|
|
|
207 |
|
208 |
## Privacy Policy
|
209 |
WP VR uses [Appsero](https://appsero.com) SDK to collect some telemetry data upon user's confirmation. This helps us to troubleshoot problems faster & make product improvements.
|
215 |
Learn more how [Appsero collects and uses this data](https://appsero.com/privacy-policy/).
|
216 |
|
217 |
== Frequently Asked Questions ==
|
|
|
|
|
218 |
|
219 |
+
=1. Why Do I Need WP VR?=
|
220 |
+
|
221 |
+
You can easily create a Virtual Tour of your place using WP VR to build a virtual presence of your business.
|
222 |
+
|
223 |
+
Simply provide a 360 degree panoramic photo and this plugin will create a virtual tour that your visitors can navigate easily.
|
224 |
+
|
225 |
+
Allow your prospects to have a realistic tour of your facility before they decide to purchase your service and increase your conversion rate.
|
226 |
+
|
227 |
+
=2. How to Install and Activate WP VR?=
|
228 |
|
229 |
+
Once you have downloaded the file, go to your dashboard. Under Plugins, select Add New, and upload the file. Then Install and activate the plugin.
|
|
|
230 |
|
231 |
+
Once activated, on the left side under your dashboard, you will find the option WP VR at the bottom.
|
232 |
+
|
233 |
+
=3. What Kind of Images Should I Use To Create A Virtual Tour?=
|
234 |
+
|
235 |
+
To make a perfect equirectangular image, you need to use a 360-degree panoramic photo of the area you want to preview.
|
236 |
+
|
237 |
+
However, you can also capture panorama images with your smartphone and use them to create a partial panorama tour.
|
238 |
+
|
239 |
+
=5. Can I Customize The Hotspot Icons?=
|
240 |
|
|
|
241 |
Yes. You can create a custom class on your theme, stating whatever style you want. Then you can input the class name on the Hotspot Custom Class section in a hotspot, and the content displayed will be customized according to the style you set.
|
242 |
|
243 |
+
=6. Can I Create A 360 Degree Video Tour With WP VR?=
|
244 |
+
|
245 |
+
Yes, with WP VR, you can create a 360 Degree video tour.
|
246 |
+
|
247 |
+
You can either upload the video to create a tour or set a link to a Youtube/Vimeo 360 degree video.
|
248 |
+
|
249 |
+
=7. How To Embed A Virtual Tour Using Gutenberg Block Editor?=
|
250 |
+
|
251 |
+
Under common blocks, you will find a block called WP VR. Select the block and on the dynamic toolbar on the right, you will get the options to add ID, Height, and Width.
|
252 |
+
|
253 |
+
Collect the ID from the virtual tour you created. Assign height and width as you desire.
|
254 |
+
|
255 |
+
=8. The Tour Is Not Loading On The Webpage.=
|
256 |
+
|
257 |
+
Go to your WordPress Dashboard > WPVR > Get Started > Settings.
|
258 |
+
|
259 |
+
Check the Enable Script Control option status.
|
260 |
+
|
261 |
+
If the Enable Script Control option is turned On, turn it off and reload the tour page.
|
262 |
+
|
263 |
+
If you wish to use this feature, you have to set the URLs of all the pages on your site with a virtual tour in the List of Allowed Pages To Load WPVR Scripts field.
|
264 |
+
|
265 |
+
=9. What To Do If I Get “THE FILE (image link) COULD NOT BE ACCESSED” Error?=
|
266 |
|
|
|
267 |
Sometimes when you add a tour on your site, you might face this issue that rather than loading the tour it will give the error “THE FILE (…) COULD NOT BE ACCESSED.”
|
268 |
|
269 |
This error shows up when you are running a website under “HTTPS” (secured with SSL certificate) whereas your image link is under “HTTP” (unsecured).
|
270 |
|
271 |
+
To solve this issue, go to your WordPress Dashboard > Settings > General. Here make sure you have “https” added to both “WordPress Address (URL)” and “Site Address (URL)”. That’s it. Your virtual tour will load with no issues.
|
272 |
|
273 |
+
=10. Can I make The Virtual Tour Full-width?=
|
|
|
|
|
|
|
274 |
|
275 |
+
Yes, you can publish the tours as full-width of your page/post.
|
276 |
|
277 |
+
For Gutenberg, Elementor, and Oxygen builder, set fullwidth on the Width field. For shortcodes, set width = “fullwidth”.
|
278 |
|
279 |
+
=11. What If I Use An Optimization or Caching Plugin?=
|
|
|
280 |
|
281 |
+
If you use any Optimization or Caching plugins, then you need to exclude WP VR from its optimization function.
|
282 |
|
283 |
+
Simply add “/plugins/wpvr” to the exclusion field (or use the location where you store plugins).
|
284 |
|
285 |
== Screenshots ==
|
286 |
1. Gutenberg Block
|
303 |
* On screen control available.
|
304 |
|
305 |
= 1.0.1 =
|
306 |
+
* Default scene can be selected from the scene tab.
|
307 |
* Default height and width given for shortcodes.
|
308 |
|
309 |
= 2.0.0 =
|
319 |
* Rotation pause and stop control
|
320 |
|
321 |
= 2.1.1 =
|
322 |
+
* Dynamic Font-Awesome icon added for hotspots.
|
323 |
* Dynamic color picker added for hotspot color.
|
324 |
* Custom panorama compass support.
|
325 |
* Default zoom level.
|
344 |
* Rextheme link removed from premium version.
|
345 |
|
346 |
= 2.5.0 =
|
347 |
+
* Gyroscope support on the premium version.
|
348 |
* Appsero error fix.
|
349 |
* Gutenberg block column layout fix.
|
350 |
|
360 |
* Dynamic error reporting added.
|
361 |
|
362 |
= 2.9.0 =
|
363 |
+
* Tour selector updated on VR block.
|
364 |
|
365 |
= 3.0.0 =
|
366 |
* File import & export system added.
|
373 |
* Modified preview window.
|
374 |
|
375 |
= 3.2.0 =
|
376 |
+
* Custom scene gallery conflict and a bug fix for iPhone and iPad.
|
377 |
|
378 |
= 3.3.0 =
|
379 |
* Placeholder change.
|
386 |
|
387 |
= 3.4.2 =
|
388 |
* Gallery carousal design fix
|
389 |
+
* CSS and js restricted
|
390 |
|
391 |
= 3.4.3 =
|
392 |
* Autorotation error fix
|
421 |
* js optimization removed
|
422 |
|
423 |
= 3.7.0 =
|
424 |
+
* Partial Panorama for the pro version
|
425 |
|
426 |
= 3.8.0 =
|
427 |
* Load box design changed
|
467 |
* Scene title field added for gallery content
|
468 |
|
469 |
= 5.0.0 =
|
470 |
+
* Home button added to return to the default scene
|
471 |
|
472 |
= 5.1.0 (26-03-2020) =
|
473 |
* Auto device based gyro enable added
|
485 |
= 5.5.0 (12-05-2020) =
|
486 |
* Custom control conflict fixed
|
487 |
* On click container fixed
|
488 |
+
* Self hosted video pause on the cross button
|
489 |
|
490 |
= 5.6.0 (15-06-2020) =
|
491 |
* VR background music support
|
538 |
* Preview gallery modified
|
539 |
* Mobile media resizer modified
|
540 |
* Video tab bug fixed
|
541 |
+
* Allow URL open auto handled
|
542 |
+
|
543 |
+
= 6.7.0 (18-09-2020) =
|
544 |
+
* Import/Export modified
|
545 |
+
* Mobile media resizer switch added
|
546 |
+
* Ocean theme conflict fixed
|
547 |
|
548 |
== Upgrade Notice ==
|
549 |
+
Please do update the WP VR to the latest version. Each update makes sure your plugin is supporting all tour features.
|
admin/class-wpvr-admin.php
CHANGED
@@ -85,7 +85,7 @@ class Wpvr_Admin {
|
|
85 |
wp_enqueue_style( 'materialize-css', plugin_dir_url( __FILE__ ) . 'css/materialize.min.css', array(), $this->version, 'all' );
|
86 |
wp_enqueue_style( 'materialize-icons', plugin_dir_url( __FILE__ ) . 'lib/materializeicon.css', array(), $this->version, 'all' );
|
87 |
wp_enqueue_style( 'owl-css', 'https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.carousel.min.css', array(), $this->version, 'all' );
|
88 |
-
|
89 |
wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/wpvr-admin.css', array(), $this->version, 'all' );
|
90 |
}
|
91 |
|
@@ -124,7 +124,7 @@ class Wpvr_Admin {
|
|
124 |
$adscreen = get_current_screen();
|
125 |
wp_enqueue_media();
|
126 |
if ($adscreen->id=="wpvr_item" || $adscreen->id=="toplevel_page_wpvr") {
|
127 |
-
wp_enqueue_script('icon-picker', plugin_dir_url( __FILE__ ) . 'lib/jquery.fonticonpicker.min.js', array(), true);
|
128 |
wp_enqueue_script('panellium-js', plugin_dir_url( __FILE__ ) . 'lib/pannellum/src/js/pannellum.js', array(), true);
|
129 |
wp_enqueue_script('panelliumlib-js', plugin_dir_url( __FILE__ ) . 'lib/pannellum/src/js/libpannellum.js', array(), true);
|
130 |
wp_enqueue_script( 'videojs-js', plugin_dir_url( __FILE__ ) .'js/video.js', array('jquery'), true);
|
@@ -449,7 +449,7 @@ class Wpvr_Admin {
|
|
449 |
|
450 |
$html .='<div class="rex-pano-tab-content" id="wpvr-main-tab-contents">';
|
451 |
$html .='<div class="rex-pano-tab general active" id="general">';
|
452 |
-
|
453 |
//=start inner tab=
|
454 |
$html .= '<div class="general-inner-tab">';
|
455 |
//=start inner nav=
|
@@ -497,6 +497,7 @@ class Wpvr_Admin {
|
|
497 |
$html .= '<input type="text" name="preview-attachment-url" class="preview-attachment-url" value="'.$preview.'">';
|
498 |
$html .= '<input type="button" class="preview-upload" id="vr-preview-img" data-info="" value="Upload"/>';
|
499 |
$html .= '<div class="img-upload-frame img-uploaded" style="background-image: url('.$preview.')">';
|
|
|
500 |
$html .= '<label for="vr-preview-img">';
|
501 |
$html .= '<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/uplad-icon.png'.'" alt="preview img" />';
|
502 |
$html .= '<span>'.__('Click to Upload an Image ','wpvr').'</span>';
|
@@ -514,6 +515,7 @@ class Wpvr_Admin {
|
|
514 |
$html .= '<input type="text" name="preview-attachment-url" class="preview-attachment-url" value="">';
|
515 |
$html .= '<input type="button" class="preview-upload" id="vr-preview-img" data-info="" value="Upload"/>';
|
516 |
$html .= '<div class="img-upload-frame">';
|
|
|
517 |
$html .= '<label for="vr-preview-img">';
|
518 |
$html .= '<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/uplad-icon.png'.'" alt="icon" />';
|
519 |
$html .= '<span>'.__('Click to Upload an Image ','wpvr').'</span>';
|
@@ -566,7 +568,7 @@ class Wpvr_Admin {
|
|
566 |
$html .= '<input id="wpvr_controls" class="vr-switcher-check" value="off" name="controls" type="checkbox" />';
|
567 |
$html .= '<label for="wpvr_controls"></label>';
|
568 |
$html .= '</span>';
|
569 |
-
|
570 |
$html .= '<div class="field-tooltip">';
|
571 |
$html .= '<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/question.png'.'" alt="icon" />';
|
572 |
$html .= '<span>'.__('This option will display Zoom In, Zoom Out and Full Screen buttons on the tour.','wpvr').'</span>';
|
@@ -646,7 +648,7 @@ class Wpvr_Admin {
|
|
646 |
$html .= '<div class="single-settings autorotationdata" >';
|
647 |
$html .= '<span>'.__('Resume Auto-rotation after: ','wpvr').'</span>';
|
648 |
$html .= '<input type="number" name="auto-rotation-inactive-delay" value="'.$autorotationinactivedelay.'" placeholder="2000" />';
|
649 |
-
|
650 |
$html .= '<div class="field-tooltip">';
|
651 |
$html .= '<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/question.png'.'" alt="icon" />';
|
652 |
$html .= '<span>'.__('When someone clicks on the tour, auto-rotation stops. Here, set a time after which auto rotation will start again. Assign in milliseconds, where 1000 milliseconds = 1 second.','wpvr').'</span>';
|
@@ -658,7 +660,7 @@ class Wpvr_Admin {
|
|
658 |
$html .= '<div class="single-settings autorotationdata" >';
|
659 |
$html .= '<span>'.__('Stop Auto-rotation after: ','wpvr').'</span>';
|
660 |
$html .= '<input type="number" name="auto-rotation-stop-delay" value="'.$autorotationstopdelay.'" placeholder="2000" />';
|
661 |
-
|
662 |
$html .= '<div class="field-tooltip">';
|
663 |
$html .= '<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/question.png'.'" alt="icon" />';
|
664 |
$html .= '<span>'.__('Set a time after which auto rotation will stop. Assign in milliseconds, where 1000 milliseconds = 1 second.','wpvr').'</span>';
|
@@ -677,7 +679,7 @@ class Wpvr_Admin {
|
|
677 |
$html .= '<div class="advanced-settings-content inner-single-content" id="gen-advanced">';
|
678 |
$html .= '<div class="content-wrapper">';
|
679 |
$html .= '<div class="left">';
|
680 |
-
|
681 |
//=Keyboard Movement Control=//
|
682 |
$html .= '<div class="single-settings compass">';
|
683 |
$html .= '<span>'.__('Keyboard Movement Control: ','wpvr').'</span>';
|
@@ -817,7 +819,7 @@ class Wpvr_Admin {
|
|
817 |
$html .= '</span>';
|
818 |
$html .= '</div>';
|
819 |
//===Company logo end===//
|
820 |
-
|
821 |
$html .= '</div>';
|
822 |
//===end right===//
|
823 |
|
@@ -835,7 +837,7 @@ class Wpvr_Admin {
|
|
835 |
$html .= '<div class="color-icon">';
|
836 |
$html .='<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/move-up.jpg'.'" alt="icon" />';
|
837 |
$html .= '</div>';
|
838 |
-
|
839 |
$html .= '<span class="wpvr-switcher">';
|
840 |
$html .= '<input id="wpvr_panupControl" class="vr-switcher-check" value="off" name="panupControl" type="checkbox" disabled />';
|
841 |
$html .= '<label for="wpvr_panupControl" title="Pro Feature"></label>';
|
@@ -847,7 +849,7 @@ class Wpvr_Admin {
|
|
847 |
//=====Move Down====//
|
848 |
$html .= '<div class="single-settings controls custom-data-set">';
|
849 |
$html .= '<span>'.__('Move Down: ','wpvr').'</span>';
|
850 |
-
|
851 |
$html .= '<div class="color-icon">';
|
852 |
$html .='<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/move-down.jpg'.'" alt="icon" />';
|
853 |
$html .= '</div>';
|
@@ -866,7 +868,7 @@ class Wpvr_Admin {
|
|
866 |
$html .= '<div class="color-icon">';
|
867 |
$html .='<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/move-left.jpg'.'" alt="icon" />';
|
868 |
$html .= '</div>';
|
869 |
-
|
870 |
$html .= '<span class="wpvr-switcher">';
|
871 |
$html .= '<input id="wpvr_panLeftControl" class="vr-switcher-check" value="off" name="panLeftControl" type="checkbox" disabled />';
|
872 |
$html .= '<label for="wpvr_panLeftControl" title="Pro Feature"></label>';
|
@@ -892,7 +894,7 @@ class Wpvr_Admin {
|
|
892 |
//=====Zoom In====//
|
893 |
$html .= '<div class="single-settings controls custom-data-set">';
|
894 |
$html .= '<span>'.__('Zoom In: ','wpvr').'</span>';
|
895 |
-
|
896 |
$html .= '<div class="color-icon">';
|
897 |
$html .='<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/zoom-in.jpg'.'" alt="icon" />';
|
898 |
$html .= '</div>';
|
@@ -924,7 +926,7 @@ class Wpvr_Admin {
|
|
924 |
|
925 |
$html .= '</div>';
|
926 |
//=====Zoom Out End====//
|
927 |
-
|
928 |
//===== Full Screen====//
|
929 |
$html .= '<div class="single-settings controls custom-data-set">';
|
930 |
$html .= '<span>'.__('Full Screen: ','wpvr').'</span>';
|
@@ -932,7 +934,7 @@ class Wpvr_Admin {
|
|
932 |
$html .= '<div class="color-icon">';
|
933 |
$html .='<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/full-screen.jpg'.'" alt="icon" />';
|
934 |
$html .= '</div>';
|
935 |
-
|
936 |
$html .= '<span class="wpvr-switcher">';
|
937 |
$html .= '<input id="wpvr_panFullscreenControl" class="vr-switcher-check" value="off" name="panFullscreenControl" type="checkbox" disabled />';
|
938 |
$html .= '<label for="wpvr_panFullscreenControl" title="Pro Feature"></label>';
|
@@ -948,7 +950,7 @@ class Wpvr_Admin {
|
|
948 |
$html .= '<div class="color-icon">';
|
949 |
$html .='<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/gryscop.jpg'.'" alt="icon" />';
|
950 |
$html .= '</div>';
|
951 |
-
|
952 |
$html .= '<span class="wpvr-switcher">';
|
953 |
$html .= '<input id="wpvr_gyroscope" class="vr-switcher-check" value="off" name="gyroscope" type="checkbox" disabled />';
|
954 |
$html .= '<label for="wpvr_gyroscope" title="Pro Feature"></label>';
|
@@ -964,7 +966,7 @@ class Wpvr_Admin {
|
|
964 |
$html .= '<div class="color-icon">';
|
965 |
$html .='<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/home.jpg'.'" alt="icon" />';
|
966 |
$html .= '</div>';
|
967 |
-
|
968 |
$html .= '<span class="wpvr-switcher">';
|
969 |
$html .= '<input id="wpvr_backToHome" class="vr-switcher-check" value="off" name="backToHome" type="checkbox" disabled />';
|
970 |
$html .= '<label for="wpvr_backToHome" title="Pro Feature"></label>';
|
@@ -1119,7 +1121,7 @@ class Wpvr_Admin {
|
|
1119 |
$html .= '</select>';
|
1120 |
$html .= '</div>';
|
1121 |
//==Set Default Scene end==//
|
1122 |
-
|
1123 |
$html .= '<div class=scene-setting>';
|
1124 |
$html .= '<label for="scene-id">'.__('Scene ID : ','wpvr').'</label>';
|
1125 |
$html .= '<input class="sceneid" type="text" name="scene-id"/>';
|
@@ -1517,7 +1519,7 @@ class Wpvr_Admin {
|
|
1517 |
|
1518 |
$html .= '<div class="scene-content">';
|
1519 |
$html .= '<h6 class="title"><i class="fa fa-cog"></i> Scene Setting </h6>';
|
1520 |
-
|
1521 |
$html .= '<div class="scene-left">';
|
1522 |
//==Set Default Scene==//
|
1523 |
if ($dscene == 'on') {
|
@@ -1560,7 +1562,7 @@ class Wpvr_Admin {
|
|
1560 |
$html .= '</div>';
|
1561 |
$html .= '</div>';
|
1562 |
// ---end scene left---
|
1563 |
-
|
1564 |
$html .= '</div>';
|
1565 |
|
1566 |
if (!empty($pano_hotspots)) {
|
@@ -1969,7 +1971,7 @@ class Wpvr_Admin {
|
|
1969 |
$html .= '</div>';
|
1970 |
$html .= '</div>';
|
1971 |
//--end scene left----
|
1972 |
-
|
1973 |
$html .= '</div>';
|
1974 |
|
1975 |
if (!empty($pano_hotspots)) {
|
@@ -2422,7 +2424,7 @@ class Wpvr_Admin {
|
|
2422 |
$html .= '<button id="videopreview">Preview</button>';
|
2423 |
$html .= '</div>';
|
2424 |
}
|
2425 |
-
|
2426 |
$html .= '<div class="wpvr-use-shortcode">';
|
2427 |
$post = get_post();
|
2428 |
$id = $post->ID;
|
@@ -2453,11 +2455,11 @@ class Wpvr_Admin {
|
|
2453 |
|
2454 |
$html .= '<script>';
|
2455 |
$html .= '
|
2456 |
-
|
2457 |
document.getElementById("wpvr-copy-shortcode-video").addEventListener("click", function() {
|
2458 |
copyToClipboardVideo(document.getElementById("copy-shortcode-video"));
|
2459 |
});
|
2460 |
-
|
2461 |
function copyToClipboardVideo(elem) {
|
2462 |
// create hidden text element, if it doesn\'t already exist
|
2463 |
var targetId = "_hiddenCopyText_";
|
@@ -2485,7 +2487,7 @@ class Wpvr_Admin {
|
|
2485 |
var currentFocus = document.activeElement;
|
2486 |
target.focus();
|
2487 |
target.setSelectionRange(0, target.value.length);
|
2488 |
-
|
2489 |
// copy the selection
|
2490 |
var succeed;
|
2491 |
try {
|
@@ -2498,11 +2500,11 @@ class Wpvr_Admin {
|
|
2498 |
if (currentFocus && typeof currentFocus.focus === "function") {
|
2499 |
currentFocus.focus();
|
2500 |
}
|
2501 |
-
|
2502 |
setTimeout(function(){
|
2503 |
document.getElementById("wpvr-copied-notice-video").innerHTML = "";
|
2504 |
}, 2000 );
|
2505 |
-
|
2506 |
if (isInput) {
|
2507 |
// restore prior selection
|
2508 |
elem.setSelectionRange(origSelectionStart, origSelectionEnd);
|
@@ -2513,9 +2515,9 @@ class Wpvr_Admin {
|
|
2513 |
document.getElementById("wpvr-copy-shortcode-video").scrollIntoView()
|
2514 |
return succeed;
|
2515 |
}
|
2516 |
-
|
2517 |
';
|
2518 |
-
|
2519 |
$html .= '</script>';
|
2520 |
$html .= '</div>';
|
2521 |
//=end shortcode area=
|
85 |
wp_enqueue_style( 'materialize-css', plugin_dir_url( __FILE__ ) . 'css/materialize.min.css', array(), $this->version, 'all' );
|
86 |
wp_enqueue_style( 'materialize-icons', plugin_dir_url( __FILE__ ) . 'lib/materializeicon.css', array(), $this->version, 'all' );
|
87 |
wp_enqueue_style( 'owl-css', 'https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.carousel.min.css', array(), $this->version, 'all' );
|
88 |
+
|
89 |
wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/wpvr-admin.css', array(), $this->version, 'all' );
|
90 |
}
|
91 |
|
124 |
$adscreen = get_current_screen();
|
125 |
wp_enqueue_media();
|
126 |
if ($adscreen->id=="wpvr_item" || $adscreen->id=="toplevel_page_wpvr") {
|
127 |
+
wp_enqueue_script('wpvr-icon-picker', plugin_dir_url( __FILE__ ) . 'lib/jquery.fonticonpicker.min.js', array(), true);
|
128 |
wp_enqueue_script('panellium-js', plugin_dir_url( __FILE__ ) . 'lib/pannellum/src/js/pannellum.js', array(), true);
|
129 |
wp_enqueue_script('panelliumlib-js', plugin_dir_url( __FILE__ ) . 'lib/pannellum/src/js/libpannellum.js', array(), true);
|
130 |
wp_enqueue_script( 'videojs-js', plugin_dir_url( __FILE__ ) .'js/video.js', array('jquery'), true);
|
449 |
|
450 |
$html .='<div class="rex-pano-tab-content" id="wpvr-main-tab-contents">';
|
451 |
$html .='<div class="rex-pano-tab general active" id="general">';
|
452 |
+
|
453 |
//=start inner tab=
|
454 |
$html .= '<div class="general-inner-tab">';
|
455 |
//=start inner nav=
|
497 |
$html .= '<input type="text" name="preview-attachment-url" class="preview-attachment-url" value="'.$preview.'">';
|
498 |
$html .= '<input type="button" class="preview-upload" id="vr-preview-img" data-info="" value="Upload"/>';
|
499 |
$html .= '<div class="img-upload-frame img-uploaded" style="background-image: url('.$preview.')">';
|
500 |
+
$html .= '<span class="remove-attachment">x</span>';
|
501 |
$html .= '<label for="vr-preview-img">';
|
502 |
$html .= '<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/uplad-icon.png'.'" alt="preview img" />';
|
503 |
$html .= '<span>'.__('Click to Upload an Image ','wpvr').'</span>';
|
515 |
$html .= '<input type="text" name="preview-attachment-url" class="preview-attachment-url" value="">';
|
516 |
$html .= '<input type="button" class="preview-upload" id="vr-preview-img" data-info="" value="Upload"/>';
|
517 |
$html .= '<div class="img-upload-frame">';
|
518 |
+
$html .= '<span class="remove-attachment">x</span>';
|
519 |
$html .= '<label for="vr-preview-img">';
|
520 |
$html .= '<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/uplad-icon.png'.'" alt="icon" />';
|
521 |
$html .= '<span>'.__('Click to Upload an Image ','wpvr').'</span>';
|
568 |
$html .= '<input id="wpvr_controls" class="vr-switcher-check" value="off" name="controls" type="checkbox" />';
|
569 |
$html .= '<label for="wpvr_controls"></label>';
|
570 |
$html .= '</span>';
|
571 |
+
|
572 |
$html .= '<div class="field-tooltip">';
|
573 |
$html .= '<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/question.png'.'" alt="icon" />';
|
574 |
$html .= '<span>'.__('This option will display Zoom In, Zoom Out and Full Screen buttons on the tour.','wpvr').'</span>';
|
648 |
$html .= '<div class="single-settings autorotationdata" >';
|
649 |
$html .= '<span>'.__('Resume Auto-rotation after: ','wpvr').'</span>';
|
650 |
$html .= '<input type="number" name="auto-rotation-inactive-delay" value="'.$autorotationinactivedelay.'" placeholder="2000" />';
|
651 |
+
|
652 |
$html .= '<div class="field-tooltip">';
|
653 |
$html .= '<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/question.png'.'" alt="icon" />';
|
654 |
$html .= '<span>'.__('When someone clicks on the tour, auto-rotation stops. Here, set a time after which auto rotation will start again. Assign in milliseconds, where 1000 milliseconds = 1 second.','wpvr').'</span>';
|
660 |
$html .= '<div class="single-settings autorotationdata" >';
|
661 |
$html .= '<span>'.__('Stop Auto-rotation after: ','wpvr').'</span>';
|
662 |
$html .= '<input type="number" name="auto-rotation-stop-delay" value="'.$autorotationstopdelay.'" placeholder="2000" />';
|
663 |
+
|
664 |
$html .= '<div class="field-tooltip">';
|
665 |
$html .= '<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/question.png'.'" alt="icon" />';
|
666 |
$html .= '<span>'.__('Set a time after which auto rotation will stop. Assign in milliseconds, where 1000 milliseconds = 1 second.','wpvr').'</span>';
|
679 |
$html .= '<div class="advanced-settings-content inner-single-content" id="gen-advanced">';
|
680 |
$html .= '<div class="content-wrapper">';
|
681 |
$html .= '<div class="left">';
|
682 |
+
|
683 |
//=Keyboard Movement Control=//
|
684 |
$html .= '<div class="single-settings compass">';
|
685 |
$html .= '<span>'.__('Keyboard Movement Control: ','wpvr').'</span>';
|
819 |
$html .= '</span>';
|
820 |
$html .= '</div>';
|
821 |
//===Company logo end===//
|
822 |
+
|
823 |
$html .= '</div>';
|
824 |
//===end right===//
|
825 |
|
837 |
$html .= '<div class="color-icon">';
|
838 |
$html .='<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/move-up.jpg'.'" alt="icon" />';
|
839 |
$html .= '</div>';
|
840 |
+
|
841 |
$html .= '<span class="wpvr-switcher">';
|
842 |
$html .= '<input id="wpvr_panupControl" class="vr-switcher-check" value="off" name="panupControl" type="checkbox" disabled />';
|
843 |
$html .= '<label for="wpvr_panupControl" title="Pro Feature"></label>';
|
849 |
//=====Move Down====//
|
850 |
$html .= '<div class="single-settings controls custom-data-set">';
|
851 |
$html .= '<span>'.__('Move Down: ','wpvr').'</span>';
|
852 |
+
|
853 |
$html .= '<div class="color-icon">';
|
854 |
$html .='<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/move-down.jpg'.'" alt="icon" />';
|
855 |
$html .= '</div>';
|
868 |
$html .= '<div class="color-icon">';
|
869 |
$html .='<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/move-left.jpg'.'" alt="icon" />';
|
870 |
$html .= '</div>';
|
871 |
+
|
872 |
$html .= '<span class="wpvr-switcher">';
|
873 |
$html .= '<input id="wpvr_panLeftControl" class="vr-switcher-check" value="off" name="panLeftControl" type="checkbox" disabled />';
|
874 |
$html .= '<label for="wpvr_panLeftControl" title="Pro Feature"></label>';
|
894 |
//=====Zoom In====//
|
895 |
$html .= '<div class="single-settings controls custom-data-set">';
|
896 |
$html .= '<span>'.__('Zoom In: ','wpvr').'</span>';
|
897 |
+
|
898 |
$html .= '<div class="color-icon">';
|
899 |
$html .='<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/zoom-in.jpg'.'" alt="icon" />';
|
900 |
$html .= '</div>';
|
926 |
|
927 |
$html .= '</div>';
|
928 |
//=====Zoom Out End====//
|
929 |
+
|
930 |
//===== Full Screen====//
|
931 |
$html .= '<div class="single-settings controls custom-data-set">';
|
932 |
$html .= '<span>'.__('Full Screen: ','wpvr').'</span>';
|
934 |
$html .= '<div class="color-icon">';
|
935 |
$html .='<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/full-screen.jpg'.'" alt="icon" />';
|
936 |
$html .= '</div>';
|
937 |
+
|
938 |
$html .= '<span class="wpvr-switcher">';
|
939 |
$html .= '<input id="wpvr_panFullscreenControl" class="vr-switcher-check" value="off" name="panFullscreenControl" type="checkbox" disabled />';
|
940 |
$html .= '<label for="wpvr_panFullscreenControl" title="Pro Feature"></label>';
|
950 |
$html .= '<div class="color-icon">';
|
951 |
$html .='<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/gryscop.jpg'.'" alt="icon" />';
|
952 |
$html .= '</div>';
|
953 |
+
|
954 |
$html .= '<span class="wpvr-switcher">';
|
955 |
$html .= '<input id="wpvr_gyroscope" class="vr-switcher-check" value="off" name="gyroscope" type="checkbox" disabled />';
|
956 |
$html .= '<label for="wpvr_gyroscope" title="Pro Feature"></label>';
|
966 |
$html .= '<div class="color-icon">';
|
967 |
$html .='<img src="'.WPVR_PLUGIN_DIR_URL . 'admin/icon/home.jpg'.'" alt="icon" />';
|
968 |
$html .= '</div>';
|
969 |
+
|
970 |
$html .= '<span class="wpvr-switcher">';
|
971 |
$html .= '<input id="wpvr_backToHome" class="vr-switcher-check" value="off" name="backToHome" type="checkbox" disabled />';
|
972 |
$html .= '<label for="wpvr_backToHome" title="Pro Feature"></label>';
|
1121 |
$html .= '</select>';
|
1122 |
$html .= '</div>';
|
1123 |
//==Set Default Scene end==//
|
1124 |
+
|
1125 |
$html .= '<div class=scene-setting>';
|
1126 |
$html .= '<label for="scene-id">'.__('Scene ID : ','wpvr').'</label>';
|
1127 |
$html .= '<input class="sceneid" type="text" name="scene-id"/>';
|
1519 |
|
1520 |
$html .= '<div class="scene-content">';
|
1521 |
$html .= '<h6 class="title"><i class="fa fa-cog"></i> Scene Setting </h6>';
|
1522 |
+
|
1523 |
$html .= '<div class="scene-left">';
|
1524 |
//==Set Default Scene==//
|
1525 |
if ($dscene == 'on') {
|
1562 |
$html .= '</div>';
|
1563 |
$html .= '</div>';
|
1564 |
// ---end scene left---
|
1565 |
+
|
1566 |
$html .= '</div>';
|
1567 |
|
1568 |
if (!empty($pano_hotspots)) {
|
1971 |
$html .= '</div>';
|
1972 |
$html .= '</div>';
|
1973 |
//--end scene left----
|
1974 |
+
|
1975 |
$html .= '</div>';
|
1976 |
|
1977 |
if (!empty($pano_hotspots)) {
|
2424 |
$html .= '<button id="videopreview">Preview</button>';
|
2425 |
$html .= '</div>';
|
2426 |
}
|
2427 |
+
|
2428 |
$html .= '<div class="wpvr-use-shortcode">';
|
2429 |
$post = get_post();
|
2430 |
$id = $post->ID;
|
2455 |
|
2456 |
$html .= '<script>';
|
2457 |
$html .= '
|
2458 |
+
|
2459 |
document.getElementById("wpvr-copy-shortcode-video").addEventListener("click", function() {
|
2460 |
copyToClipboardVideo(document.getElementById("copy-shortcode-video"));
|
2461 |
});
|
2462 |
+
|
2463 |
function copyToClipboardVideo(elem) {
|
2464 |
// create hidden text element, if it doesn\'t already exist
|
2465 |
var targetId = "_hiddenCopyText_";
|
2487 |
var currentFocus = document.activeElement;
|
2488 |
target.focus();
|
2489 |
target.setSelectionRange(0, target.value.length);
|
2490 |
+
|
2491 |
// copy the selection
|
2492 |
var succeed;
|
2493 |
try {
|
2500 |
if (currentFocus && typeof currentFocus.focus === "function") {
|
2501 |
currentFocus.focus();
|
2502 |
}
|
2503 |
+
|
2504 |
setTimeout(function(){
|
2505 |
document.getElementById("wpvr-copied-notice-video").innerHTML = "";
|
2506 |
}, 2000 );
|
2507 |
+
|
2508 |
if (isInput) {
|
2509 |
// restore prior selection
|
2510 |
elem.setSelectionRange(origSelectionStart, origSelectionEnd);
|
2515 |
document.getElementById("wpvr-copy-shortcode-video").scrollIntoView()
|
2516 |
return succeed;
|
2517 |
}
|
2518 |
+
|
2519 |
';
|
2520 |
+
|
2521 |
$html .= '</script>';
|
2522 |
$html .= '</div>';
|
2523 |
//=end shortcode area=
|
admin/class-wpvr-ajax.php
CHANGED
@@ -1339,6 +1339,63 @@ class Wpvr_Ajax {
|
|
1339 |
wp_send_json_error('Media transfer process failed');
|
1340 |
}
|
1341 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1342 |
if ($new_data['panodata']) {
|
1343 |
|
1344 |
if ($new_data['panodata']["scene-list"]) {
|
@@ -1402,6 +1459,7 @@ class Wpvr_Ajax {
|
|
1402 |
$editor = sanitize_text_field($_POST['editor']);
|
1403 |
$author = sanitize_text_field($_POST['author']);
|
1404 |
$fontawesome = sanitize_text_field($_POST['fontawesome']);
|
|
|
1405 |
$high_res_image = sanitize_text_field($_POST['high_res_image']);
|
1406 |
$wpvr_frontend_notice = sanitize_text_field($_POST['wpvr_frontend_notice']);
|
1407 |
$wpvr_frontend_notice_area = sanitize_text_field($_POST['wpvr_frontend_notice_area']);
|
@@ -1415,6 +1473,7 @@ class Wpvr_Ajax {
|
|
1415 |
update_option('wpvr_editor_active', $editor);
|
1416 |
update_option('wpvr_author_active', $author);
|
1417 |
update_option('wpvr_fontawesome_disable', $fontawesome);
|
|
|
1418 |
update_option('high_res_image', $high_res_image);
|
1419 |
update_option('wpvr_frontend_notice', $wpvr_frontend_notice);
|
1420 |
update_option('wpvr_frontend_notice_area', $wpvr_frontend_notice_area);
|
1339 |
wp_send_json_error('Media transfer process failed');
|
1340 |
}
|
1341 |
}
|
1342 |
+
if ($new_data['preview']) {
|
1343 |
+
$preview_url = $file_save_url['baseurl'].'/wpvr/temp/scene_preview.jpg';
|
1344 |
+
$media_get = wpvr_handle_media_import($preview_url, $new_post_id);
|
1345 |
+
if ($media_get['status'] == 'error') {
|
1346 |
+
wp_delete_post($new_post_id, true);
|
1347 |
+
wpvr_delete_temp_file();
|
1348 |
+
wp_send_json_error($media_get['message']);
|
1349 |
+
}
|
1350 |
+
elseif ($media_get['status'] == 'success') {
|
1351 |
+
$new_data['preview'] = $media_get['message'];
|
1352 |
+
}
|
1353 |
+
else {
|
1354 |
+
wp_delete_post($new_post_id, true);
|
1355 |
+
wpvr_delete_temp_file();
|
1356 |
+
wp_send_json_error('Media transfer process failed');
|
1357 |
+
}
|
1358 |
+
}
|
1359 |
+
if ($new_data['cpLogoImg']) {
|
1360 |
+
$logo = $new_data['cpLogoImg'];
|
1361 |
+
$get_logo_format = explode(".", $logo);
|
1362 |
+
$logo_format = end($get_logo_format);
|
1363 |
+
$logo_img = $file_save_url['baseurl'].'/wpvr/temp/logo_img.'.$logo_format;
|
1364 |
+
$media_get = wpvr_handle_media_import($logo_img, $new_post_id);
|
1365 |
+
if ($media_get['status'] == 'error') {
|
1366 |
+
wp_delete_post($new_post_id, true);
|
1367 |
+
wpvr_delete_temp_file();
|
1368 |
+
wp_send_json_error($media_get['message']);
|
1369 |
+
}
|
1370 |
+
elseif ($media_get['status'] == 'success') {
|
1371 |
+
$new_data['cpLogoImg'] = $media_get['message'];
|
1372 |
+
}
|
1373 |
+
else {
|
1374 |
+
wp_delete_post($new_post_id, true);
|
1375 |
+
wpvr_delete_temp_file();
|
1376 |
+
wp_send_json_error('Media transfer process failed');
|
1377 |
+
}
|
1378 |
+
}
|
1379 |
+
if ($new_data['bg_music_url']) {
|
1380 |
+
$music_url = $new_data['bg_music_url'];
|
1381 |
+
$get_music_format = explode(".", $music_url);
|
1382 |
+
$music_format = end($get_music_format);
|
1383 |
+
$music_url = $file_save_url['baseurl'].'/wpvr/temp/music_url.'.$music_format;
|
1384 |
+
$media_get = wpvr_handle_media_import($music_url, $new_post_id);
|
1385 |
+
if ($media_get['status'] == 'error') {
|
1386 |
+
wp_delete_post($new_post_id, true);
|
1387 |
+
wpvr_delete_temp_file();
|
1388 |
+
wp_send_json_error($media_get['message']);
|
1389 |
+
}
|
1390 |
+
elseif ($media_get['status'] == 'success') {
|
1391 |
+
$new_data['bg_music_url'] = $media_get['message'];
|
1392 |
+
}
|
1393 |
+
else {
|
1394 |
+
wp_delete_post($new_post_id, true);
|
1395 |
+
wpvr_delete_temp_file();
|
1396 |
+
wp_send_json_error('Media transfer process failed');
|
1397 |
+
}
|
1398 |
+
}
|
1399 |
if ($new_data['panodata']) {
|
1400 |
|
1401 |
if ($new_data['panodata']["scene-list"]) {
|
1459 |
$editor = sanitize_text_field($_POST['editor']);
|
1460 |
$author = sanitize_text_field($_POST['author']);
|
1461 |
$fontawesome = sanitize_text_field($_POST['fontawesome']);
|
1462 |
+
$mobile_media_resize = sanitize_text_field($_POST['mobile_media_resize']);
|
1463 |
$high_res_image = sanitize_text_field($_POST['high_res_image']);
|
1464 |
$wpvr_frontend_notice = sanitize_text_field($_POST['wpvr_frontend_notice']);
|
1465 |
$wpvr_frontend_notice_area = sanitize_text_field($_POST['wpvr_frontend_notice_area']);
|
1473 |
update_option('wpvr_editor_active', $editor);
|
1474 |
update_option('wpvr_author_active', $author);
|
1475 |
update_option('wpvr_fontawesome_disable', $fontawesome);
|
1476 |
+
update_option('mobile_media_resize', $mobile_media_resize);
|
1477 |
update_option('high_res_image', $high_res_image);
|
1478 |
update_option('wpvr_frontend_notice', $wpvr_frontend_notice);
|
1479 |
update_option('wpvr_frontend_notice_area', $wpvr_frontend_notice_area);
|
admin/css/wpvr-admin.css
CHANGED
@@ -155,7 +155,9 @@
|
|
155 |
|
156 |
|
157 |
|
158 |
-
|
|
|
|
|
159 |
|
160 |
.icon-wpvrtourmake_icon:before {
|
161 |
content: '';
|
@@ -925,6 +927,7 @@ div.custom-tooltip:hover span:after {
|
|
925 |
.rex-pano-tab-content .general .single-settings.preview-setting .preview-upload {
|
926 |
display: none;
|
927 |
}
|
|
|
928 |
.rex-pano-tab-content .general .single-settings.preview-setting .img-upload-frame {
|
929 |
width: 100%;
|
930 |
height: 220px;
|
@@ -933,6 +936,7 @@ div.custom-tooltip:hover span:after {
|
|
933 |
background-repeat: no-repeat;
|
934 |
background-position: center;
|
935 |
background-size: cover;
|
|
|
936 |
}
|
937 |
.rex-pano-tab-content .general .single-settings.preview-setting .img-upload-frame label {
|
938 |
width: 100%;
|
@@ -957,6 +961,42 @@ div.custom-tooltip:hover span:after {
|
|
957 |
}
|
958 |
|
959 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
960 |
/* ---autoload--- */
|
961 |
.rex-pano-tab-content .general .inner-nav-content .single-settings:not(.preview-setting) {
|
962 |
width: 100%;
|
155 |
|
156 |
|
157 |
|
158 |
+
.pnlm-load-button p {
|
159 |
+
color: #fff;
|
160 |
+
}
|
161 |
|
162 |
.icon-wpvrtourmake_icon:before {
|
163 |
content: '';
|
927 |
.rex-pano-tab-content .general .single-settings.preview-setting .preview-upload {
|
928 |
display: none;
|
929 |
}
|
930 |
+
|
931 |
.rex-pano-tab-content .general .single-settings.preview-setting .img-upload-frame {
|
932 |
width: 100%;
|
933 |
height: 220px;
|
936 |
background-repeat: no-repeat;
|
937 |
background-position: center;
|
938 |
background-size: cover;
|
939 |
+
position: relative;
|
940 |
}
|
941 |
.rex-pano-tab-content .general .single-settings.preview-setting .img-upload-frame label {
|
942 |
width: 100%;
|
961 |
}
|
962 |
|
963 |
|
964 |
+
/* -----remove attachment style----- */
|
965 |
+
.rex-pano-tab-content .general .single-settings.preview-setting .remove-attachment {
|
966 |
+
position: absolute;
|
967 |
+
right: 6px;
|
968 |
+
top: 6px;
|
969 |
+
background: #fff;
|
970 |
+
padding: 5px;
|
971 |
+
text-indent: -9999px;
|
972 |
+
width: 24px;
|
973 |
+
height: 24px;
|
974 |
+
line-height: normal;
|
975 |
+
border-radius: 100%;
|
976 |
+
cursor: pointer;
|
977 |
+
display: none;
|
978 |
+
}
|
979 |
+
.rex-pano-tab-content .general .single-settings.preview-setting .img-upload-frame.img-uploaded span.remove-attachment {
|
980 |
+
display: block;
|
981 |
+
}
|
982 |
+
|
983 |
+
.rex-pano-tab-content .general .single-settings.preview-setting .remove-attachment:before,
|
984 |
+
.rex-pano-tab-content .general .single-settings.preview-setting .remove-attachment:after {
|
985 |
+
content: "";
|
986 |
+
position: absolute;
|
987 |
+
left: 50%;
|
988 |
+
top: 50%;
|
989 |
+
width: 2px;
|
990 |
+
height: calc(100% - 14px);
|
991 |
+
background: #201cfe;
|
992 |
+
transform: translate(-50%, -50%) rotate(45deg);
|
993 |
+
transform-origin: center;
|
994 |
+
}
|
995 |
+
.rex-pano-tab-content .general .single-settings.preview-setting .remove-attachment:after {
|
996 |
+
transform: translate(-50%, -50%) rotate(-45deg);
|
997 |
+
}
|
998 |
+
|
999 |
+
|
1000 |
/* ---autoload--- */
|
1001 |
.rex-pano-tab-content .general .inner-nav-content .single-settings:not(.preview-setting) {
|
1002 |
width: 100%;
|
admin/js/wpvr-admin.js
CHANGED
@@ -696,11 +696,22 @@
|
|
696 |
var attachment = file_fram.state().get('selection').first().toJSON();
|
697 |
parent.find('.preview-attachment-url').val(attachment.url);
|
698 |
parent.find('.img-upload-frame').css('background-image', 'url(' + attachment.url + ')');
|
699 |
-
|
|
|
700 |
});
|
701 |
|
702 |
file_fram.open();
|
703 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
704 |
|
705 |
|
706 |
$(document).on("change", "select[name*=hotspot-type]", function(event) {
|
@@ -1039,6 +1050,7 @@
|
|
1039 |
var editor = $('#wpvr_editor_active').is(':checked');
|
1040 |
var author = $('#wpvr_author_active').is(':checked');
|
1041 |
var fontawesome = $('#wpvr_fontawesome_disable').is(':checked');
|
|
|
1042 |
var wpvr_frontend_notice = $('#wpvr_frontend_notice').is(':checked');
|
1043 |
var wpvr_frontend_notice_area = $('#wpvr_frontend_notice_area').val();
|
1044 |
var wpvr_script_control = $('#wpvr_script_control').is(':checked');
|
@@ -1052,6 +1064,7 @@
|
|
1052 |
editor: editor,
|
1053 |
author: author,
|
1054 |
fontawesome: fontawesome,
|
|
|
1055 |
high_res_image: high_res_image,
|
1056 |
wpvr_frontend_notice: wpvr_frontend_notice,
|
1057 |
wpvr_frontend_notice_area: wpvr_frontend_notice_area,
|
696 |
var attachment = file_fram.state().get('selection').first().toJSON();
|
697 |
parent.find('.preview-attachment-url').val(attachment.url);
|
698 |
parent.find('.img-upload-frame').css('background-image', 'url(' + attachment.url + ')');
|
699 |
+
parent.find('.img-upload-frame').addClass('img-uploaded');
|
700 |
+
parent.find('.remove-attachment').show();
|
701 |
});
|
702 |
|
703 |
file_fram.open();
|
704 |
+
});
|
705 |
+
|
706 |
+
//----remove tour preview image----
|
707 |
+
$(document).on("click", ".remove-attachment", function(event) {
|
708 |
+
$(this).hide();
|
709 |
+
parent = $(this).parents('.form-group');
|
710 |
+
|
711 |
+
parent.find('.preview-attachment-url').val('');
|
712 |
+
parent.find('.img-upload-frame').css('background-image', '');
|
713 |
+
parent.find('.img-upload-frame').removeClass('img-uploaded');
|
714 |
+
});
|
715 |
|
716 |
|
717 |
$(document).on("change", "select[name*=hotspot-type]", function(event) {
|
1050 |
var editor = $('#wpvr_editor_active').is(':checked');
|
1051 |
var author = $('#wpvr_author_active').is(':checked');
|
1052 |
var fontawesome = $('#wpvr_fontawesome_disable').is(':checked');
|
1053 |
+
var mobile_media_resize = $('#mobile_media_resize').is(':checked');
|
1054 |
var wpvr_frontend_notice = $('#wpvr_frontend_notice').is(':checked');
|
1055 |
var wpvr_frontend_notice_area = $('#wpvr_frontend_notice_area').val();
|
1056 |
var wpvr_script_control = $('#wpvr_script_control').is(':checked');
|
1064 |
editor: editor,
|
1065 |
author: author,
|
1066 |
fontawesome: fontawesome,
|
1067 |
+
mobile_media_resize: mobile_media_resize,
|
1068 |
high_res_image: high_res_image,
|
1069 |
wpvr_frontend_notice: wpvr_frontend_notice,
|
1070 |
wpvr_frontend_notice_area: wpvr_frontend_notice_area,
|
admin/partials/wpvr_documentation.php
CHANGED
@@ -504,6 +504,7 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
504 |
$editor_active = get_option('wpvr_editor_active');
|
505 |
$author_active = get_option('wpvr_author_active');
|
506 |
$fontawesome_disable = get_option('wpvr_fontawesome_disable');
|
|
|
507 |
$wpvr_script_control = get_option('wpvr_script_control');
|
508 |
$wpvr_script_list = get_option('wpvr_script_list');
|
509 |
$high_res_image = get_option('high_res_image');
|
@@ -590,6 +591,33 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
590 |
</span>
|
591 |
</li>
|
592 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
593 |
<li>
|
594 |
<h6><?php echo __( "Disable WordPress Large Image Handler on WP VR:", "wpvr" ); ?></h6>
|
595 |
|
504 |
$editor_active = get_option('wpvr_editor_active');
|
505 |
$author_active = get_option('wpvr_author_active');
|
506 |
$fontawesome_disable = get_option('wpvr_fontawesome_disable');
|
507 |
+
$mobile_media_resize = get_option('mobile_media_resize');
|
508 |
$wpvr_script_control = get_option('wpvr_script_control');
|
509 |
$wpvr_script_list = get_option('wpvr_script_list');
|
510 |
$high_res_image = get_option('high_res_image');
|
591 |
</span>
|
592 |
</li>
|
593 |
|
594 |
+
<li>
|
595 |
+
<h6><?php echo __( "Enable mobile media resizer:", "wpvr" ); ?></h6>
|
596 |
+
|
597 |
+
<span class="wpvr-switcher">
|
598 |
+
<?php
|
599 |
+
if ($mobile_media_resize == "true") {
|
600 |
+
?>
|
601 |
+
<input id="mobile_media_resize" type="checkbox" checked>
|
602 |
+
<?php
|
603 |
+
}
|
604 |
+
else {
|
605 |
+
?>
|
606 |
+
<input id="mobile_media_resize" type="checkbox">
|
607 |
+
<?php
|
608 |
+
}
|
609 |
+
?>
|
610 |
+
<label for="mobile_media_resize"></label>
|
611 |
+
</span>
|
612 |
+
|
613 |
+
<span class="wpvr-tooltip">
|
614 |
+
<span class="icon">
|
615 |
+
<img src="<?php echo WPVR_PLUGIN_DIR_URL . 'admin/icon/question-icon.png'?>" alt="check">
|
616 |
+
</span>
|
617 |
+
<p><?php echo __( 'WPVR will resize each scenes for mobile devices.', 'wpvr' ); ?></p>
|
618 |
+
</span>
|
619 |
+
</li>
|
620 |
+
|
621 |
<li>
|
622 |
<h6><?php echo __( "Disable WordPress Large Image Handler on WP VR:", "wpvr" ); ?></h6>
|
623 |
|
public/class-wpvr-public.php
CHANGED
@@ -606,42 +606,36 @@ class Wpvr_Public {
|
|
606 |
}
|
607 |
|
608 |
$device_scene = $panoscenes['scene-attachment-url'];
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
$device_scene = $desktop_scene[0];
|
640 |
-
}
|
641 |
-
}
|
642 |
-
}
|
643 |
-
}
|
644 |
-
}
|
645 |
|
646 |
$scene_info = array();
|
647 |
$scene_info = array("type"=>$panoscenes["scene-type"],"panorama"=>$device_scene,"pitch"=>$default_scene_pitch,"maxPitch"=>$scene_max_pitch,"minPitch"=>$scene_min_pitch,"maxYaw"=>$scene_max_yaw,"minYaw"=>$scene_min_yaw,"yaw"=>$default_scene_yaw,"hfov"=>$default_zoom,"maxHfov"=>$max_zoom,"minHfov"=>$min_zoom,"title"=>$scene_ititle,"author"=>$scene_author, "authorURL"=>$scene_author_url, "vaov"=>$scene_vaov, "haov"=>$scene_haov, "vOffset"=>$scene_vertical_offset, "hotSpots"=>$hotspots);
|
606 |
}
|
607 |
|
608 |
$device_scene = $panoscenes['scene-attachment-url'];
|
609 |
+
$mobile_media_resize = get_option('mobile_media_resize');
|
610 |
+
$file_accessible = ini_get('allow_url_fopen');
|
611 |
+
|
612 |
+
if ($mobile_media_resize == "true") {
|
613 |
+
if ($file_accessible == "1") {
|
614 |
+
$image_info = getimagesize($device_scene);
|
615 |
+
if ($image_info[0] > 4096) {
|
616 |
+
$src_to_id_for_mobile = '';
|
617 |
+
$src_to_id_for_desktop = '';
|
618 |
+
if (wpvr_isMobileDevice()) {
|
619 |
+
$src_to_id_for_mobile = attachment_url_to_postid($panoscenes['scene-attachment-url']);
|
620 |
+
if ($src_to_id_for_mobile) {
|
621 |
+
$mobile_scene = wp_get_attachment_image_src($src_to_id_for_mobile, 'wpvr_mobile');
|
622 |
+
if ($mobile_scene[3]) {
|
623 |
+
$device_scene = $mobile_scene[0];
|
624 |
+
}
|
625 |
+
}
|
626 |
+
}
|
627 |
+
else {
|
628 |
+
$src_to_id_for_desktop = attachment_url_to_postid($panoscenes['scene-attachment-url']);
|
629 |
+
if ($src_to_id_for_desktop) {
|
630 |
+
$desktop_scene = wp_get_attachment_image_src($src_to_id_for_mobile, 'full');
|
631 |
+
if ($desktop_scene[0]) {
|
632 |
+
$device_scene = $desktop_scene[0];
|
633 |
+
}
|
634 |
+
}
|
635 |
+
}
|
636 |
+
}
|
637 |
+
}
|
638 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
639 |
|
640 |
$scene_info = array();
|
641 |
$scene_info = array("type"=>$panoscenes["scene-type"],"panorama"=>$device_scene,"pitch"=>$default_scene_pitch,"maxPitch"=>$scene_max_pitch,"minPitch"=>$scene_min_pitch,"maxYaw"=>$scene_max_yaw,"minYaw"=>$scene_min_yaw,"yaw"=>$default_scene_yaw,"hfov"=>$default_zoom,"maxHfov"=>$max_zoom,"minHfov"=>$min_zoom,"title"=>$scene_ititle,"author"=>$scene_author, "authorURL"=>$scene_author_url, "vaov"=>$scene_vaov, "haov"=>$scene_haov, "vOffset"=>$scene_vertical_offset, "hotSpots"=>$hotspots);
|
public/css/wpvr-public.css
CHANGED
@@ -108,6 +108,10 @@
|
|
108 |
border-radius: 100%;
|
109 |
}
|
110 |
|
|
|
|
|
|
|
|
|
111 |
.ctrl {
|
112 |
width: 30px;
|
113 |
text-align: center;
|
108 |
border-radius: 100%;
|
109 |
}
|
110 |
|
111 |
+
.pnlm-load-button p {
|
112 |
+
color: #fff!important;
|
113 |
+
}
|
114 |
+
|
115 |
.ctrl {
|
116 |
width: 30px;
|
117 |
text-align: center;
|
wpvr.php
CHANGED
@@ -16,7 +16,7 @@
|
|
16 |
* Plugin Name: WP VR
|
17 |
* Plugin URI: https://rextheme.com/wpvr/
|
18 |
* Description: WP VR - 360 Panorama and virtual tour creator for WordPress is a customized panaroma & virtual builder tool for WordPress Website.
|
19 |
-
* Version: 6.
|
20 |
* Author: Rextheme
|
21 |
* Author URI: http://rextheme.com/
|
22 |
* License: GPL-2.0+
|
@@ -560,40 +560,34 @@ function wpvr_block_render( $attributes ) {
|
|
560 |
}
|
561 |
|
562 |
$device_scene = $panoscenes['scene-attachment-url'];
|
|
|
563 |
$file_accessible = ini_get('allow_url_fopen');
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
$src_to_id_for_desktop = '';
|
579 |
-
if (wpvr_isMobileDevice()) {
|
580 |
-
$src_to_id_for_mobile = attachment_url_to_postid($panoscenes['scene-attachment-url']);
|
581 |
-
if ($src_to_id_for_mobile) {
|
582 |
-
$mobile_scene = wp_get_attachment_image_src($src_to_id_for_mobile, 'wpvr_mobile');
|
583 |
-
if ($mobile_scene[3]) {
|
584 |
-
$device_scene = $mobile_scene[0];
|
585 |
}
|
586 |
}
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
}
|
595 |
}
|
596 |
-
|
597 |
}
|
598 |
}
|
599 |
|
16 |
* Plugin Name: WP VR
|
17 |
* Plugin URI: https://rextheme.com/wpvr/
|
18 |
* Description: WP VR - 360 Panorama and virtual tour creator for WordPress is a customized panaroma & virtual builder tool for WordPress Website.
|
19 |
+
* Version: 6.7.0
|
20 |
* Author: Rextheme
|
21 |
* Author URI: http://rextheme.com/
|
22 |
* License: GPL-2.0+
|
560 |
}
|
561 |
|
562 |
$device_scene = $panoscenes['scene-attachment-url'];
|
563 |
+
$mobile_media_resize = get_option('mobile_media_resize');
|
564 |
$file_accessible = ini_get('allow_url_fopen');
|
565 |
+
|
566 |
+
if ($mobile_media_resize == "true") {
|
567 |
+
if ($file_accessible == "1") {
|
568 |
+
$image_info = getimagesize($device_scene);
|
569 |
+
if ($image_info[0] > 4096) {
|
570 |
+
$src_to_id_for_mobile = '';
|
571 |
+
$src_to_id_for_desktop = '';
|
572 |
+
if (wpvr_isMobileDevice()) {
|
573 |
+
$src_to_id_for_mobile = attachment_url_to_postid($panoscenes['scene-attachment-url']);
|
574 |
+
if ($src_to_id_for_mobile) {
|
575 |
+
$mobile_scene = wp_get_attachment_image_src($src_to_id_for_mobile, 'wpvr_mobile');
|
576 |
+
if ($mobile_scene[3]) {
|
577 |
+
$device_scene = $mobile_scene[0];
|
578 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
579 |
}
|
580 |
}
|
581 |
+
else {
|
582 |
+
$src_to_id_for_desktop = attachment_url_to_postid($panoscenes['scene-attachment-url']);
|
583 |
+
if ($src_to_id_for_desktop) {
|
584 |
+
$desktop_scene = wp_get_attachment_image_src($src_to_id_for_mobile, 'full');
|
585 |
+
if ($desktop_scene[0]) {
|
586 |
+
$device_scene = $desktop_scene[0];
|
587 |
+
}
|
588 |
}
|
589 |
}
|
590 |
+
}
|
591 |
}
|
592 |
}
|
593 |
|