Release date: July 9th, 2018
Current version: 5.3.2
Change log

WooCommerce plugin

Demo frontend Download WooCommerce plugin Download AJAX-ZOOM

Compatibility

WooCommerce - 2.x, 3.x
[last tested with 3.3.0 beta 2]
PHP 5.2 - 7.x

In the frontend AJAX-ZOOM plugin for WooCommerce (WordPress) is based on responsive mouseover zoom + optional 360°. In backend there is a possibility for administrators to upload several 360's or import them from zip files or folders, which were previously uploaded e.g. over ftp. Each individual 360° can be configured with separate AJAX-ZOOM settings and attached to all or selected variants. For regular images there are no changes required.

You can also generate shortcodes for each media type separately or all media assigned to a product and place the gallery into your regular WP-posts.

General features

Backend screenshots

Frontend screenshots

Shortcode Screenshots

Place 360 images, regular images and / or videos anywhere else besides product detail page by using shortcodes.

Handling regular images

For the regular images there is no need to do anything. You can upload them as always. However for product vatiations there is a possiblity to add any number of images without additional plugins. On default there is not such an option in Woo.

Handling 360°/3D

To add 360° images simply edit an product. There you find the ""AJAX-ZOOM 360" tab with following possibilities.

Requirements

Installing

  1. Make sure the free Ioncube loaders are installed on the server
  2. Switch to Plugins and click on "Add New".
  3. Select "Upload Plugin" and upload plugin_woocommerce_ajaxzoom.zip
  4. Click "Install Now" and then "Activate Plugin" when ready.
  5. The activation might take some time as the plugin will try to download AJAX-ZOOM main scripts instantly. If that fails for some reason download AJAX-ZOOM manually and upload /axZm directory into /wp-content/plugins/ajaxzoom/

If you upload the plugin - /wp-content/plugins/ajaxzoom - manually over FTP, make sure that /wp-content/plugins/ajaxzoom/pic directory is writeable by PHP - set corresponding chmod. The plugin will need to create several subfolders in this directory, so it must be writable before activation (install process).

Troubleshooting

AJAX-ZOOM has not been downloaded instantly

Please see installation steps above. Upload AJAX-ZOOM main scripts manually.

AJAX-ZOOM does not work in a different Template / Theme

Please read if AJAX-ZOOM does work in default theme but does not work with a third party template...

The dynamic output in frontend template is registered over
add_action( 'woocommerce_product_thumbnails', array( 'ajaxzoom', 'show' )) or
add_action( 'woocommerce_after_single_product', array( 'ajaxzoom', 'show' ))

Accordingly the output must be triggered in frontend template by
do_action( 'woocommerce_product_thumbnails' ); or
do_action( 'woocommerce_after_single_product' );

If neither of the two do_action functions are present / missing in frontend template, then there will be no output and AJAX-ZOOM cannot be visible at all.

AJAX-ZOOM is not showing correctly

If AJAX-ZOOM code is returned on the product details page but you do not see anything or AJAX-ZOOM does not work properly, then you might need to make some adjustments for you theme. Go to Wocommerce Settings -> AJAX-ZOOM -> General Settings. At very bottom there is a widget with which the adjustment should be possible for any template.

AJAX-ZOOM is shown but not when you click on the mouseover image

Please check in browser console under network -> XHR if the request to zoomLoad.php returns error 500 (server error). This might happen because of wp-content/plugins/ajaxzoom/lic.php which includes the WP config file in order to quickly read the license data entered in the AJAX-ZOOM plugin configuration page at the backend. The error is likely to be present if WordPress has been installed using Bitnami. Try to comment out / remove everything in lic.php; if AJAX-ZOOM works now please just keep it like this. You can also enter / hardcode licensing information into wp-content/plugins/ajaxzoom/zoomConfigCustomAZ.inc.php without retrieving the values from DB which is even more faster.

No images for variation Products

If you have variable products but did not define any images for you variable products, please enable AJAX-ZOOM Plugin "showDefaultForVariation" option, which is disabled on default.

Optimiser tools

Starting from plugin verison 1.1.2 many issues have been improved. The AJAX-ZOOM plugin for WooCommerce was tested with the following optimiser tools:

Other

If you encounter any other troubles please report / contact our support. We will fix and document it with highest priority.

FAQ

How to install "ionCube Loader"?

ionCube loader is a widely used PHP extension and it is required to operate AJAX-ZOOM on your server. Before installing the loader please check if it is not already installed on your server. In order to check this you can look into the output of phpinfo();. You can also use get_loaded_extensions PHP function - print_r( get_loaded_extensions() ); to see if ionCube is installed.

If you do not detect ionCube on your server please visit the official ionClube loaders page. There you will find "Loader Installer" and "Loader Wizard", which will give you the guidance on installing the loader matching your operating system (Windows, Linux, FreeBSD, OpenBSD, OS X, Solaris).

Many hosting companies do also have a guidance in their FAQ on how to do this specifically for their configurations. Lastly, a mail to your hosting’s provider support will surely help you. ionCube is industry standard and should be a copy & paste answer for your hosting provider. If not, you should switch your hotsting provider immediately.

Please note, that each PHP version requires a different loader extension. When your provider offers a possibility to switch between several PHP versions and you have added ionCube extension over a separate php.ini on your own, please think about updating this php.ini file to link to the appropriate ionCube extension file.

Restarting the Server (e.g. Apache) might be needed in order to the new extension be loaded (changes in php.ini effectively take place).

Do I need a license key to test AJAX-ZOOM module / plugin?

No, AJAX-ZOOM should work out of the box. For some modules / plugins, AJAX-ZOOM will not install itself, if "ionCube" extension is not present on the server (see above). Other than that, there is are limitations on number of images and image resolution of the demo version. If you would like to test AJAX-ZOOM with higher resolution images ( > 3.2 megapixels / million pixels), please request an "Evaluation" license key for your dev domain / subdomain free of charge.

If you do not have a development server but would like to install AJAX-ZOOM plugin on your production website, you should go to module / plugin settings and set "displayOnlyForThisProductID" option. This option will allow you to enable AJAX-ZOOM only on specified product ID, so you can test the module / plugin thoroughly without affecting the entire shop / conduct A/B tests.

How to translate the plugin into other languages or change text strings?

The translation of the strings is done over the plugin options and within the AJAX-ZOOM core PHP config file.

1. All plugin options are accessed over backend. For example, if you want to add russian translation to "zoomMsg360" option, which is defined as JSON, you would need to add "key" and "value" to this JSON.

    
{
    "en": "Drag to spin 360°, scroll to zoom in and out, right click and drag to pan",
    "de": "Ziehen um 360° zu drehen, zoomen mit dem Mausrad, rechte Maustaste ziehen verschiebt die Ansicht",
    "fr": "Faites glisser pour tourner à 360 °, faites défiler pour zoomer dans et hors, cliquer et faire glisser à droite pour vous déplacer",
    "es": "Arrastrar para girar en 360º, Rueda del ratón para utilizar el Zoom, botón derecho para mover la imagen"
}
    

So when you only need english as default language (please keep it) and want to add Russian translation string, you would change this option to

    
{
    "en": "Drag to spin 360°, scroll to zoom in and out, right click and drag to pan",
    "ru": "Крутить 360° левой кнопкой мыши, колесом увеличивать, правой кнопкой смещать zoom"
}
    

2. Some other text strings are located in [ajaxzoom plugin directory] /axZm/zoomConfig.inc.php file, which is part of AJAX-ZOOM core. Open this file in a text editor and find a string you are looking for. For example you are lookung for the "Click to load" message. It is located under $zoom['config']['spinNoInit'] option and looks like this:

    
$zoom['config']['spinNoInit'] = array(
    'enabled' => false,
    'file' => array('en' => 'click_to_load_en.png', 'de' => ''),
    'txt' => array(
        'en' => 'Click to load
360°
view', 'de' => 'Klicken um die
360° Ansicht
zu laden' ), 'event' => 'click' );

As you can see, this is a PHP array and there are several other suboptions located in it. Best way to proceed is to either copy the entire array into zoomConfigCustomAZ.inc.php or copy only the suboption with locales into this file. You can find zoomConfigCustomAZ.inc.php outside of the /axZm folder in plugin directory.

2a. The below is what you would add to [ajaxzoom plugin directory] /zoomConfigCustomAZ.inc.php file when you copy the entire array and add your translation, removing languages you do not need:

    
$zoom['config']['spinNoInit'] = array(
    'enabled' => true,
    'file' => array('en' => 'click_to_load_en.png', 'de' => ''),
    'txt' => array(
        'en' => 'Click to load
360°
view', 'ru' => 'Нажмите мышкой, чтоб загрузить 360° вид' ), 'event' => 'click' );

2b. Or you could just add the suboption to [ajaxzoom plugin directory] /zoomConfigCustomAZ.inc.php file like this:

    
$zoom['config']['spinNoInit']['txt'] = array(
    'en' => 'Click to load
360°
view', 'ru' => 'Нажмите мышкой, чтоб загрузить 360° вид' ); // or $zoom['config']['spinNoInit']['txt']['ru'] = 'Нажмите мышкой, чтоб загрузить 360° вид';
You can also move the file [ajaxzoom plugin directory] /zoomConfigCustomAZ.inc.php one level up, outside of ajaxzoom plugin directory, so when you update the plugin this file does not get overwritten.

3. There is also a third possiblity how to add translation to strings, which are located in [ajaxzoom plugin directory] /axZm/zoomConfig.inc.php. In the backend, under plugin configuration, you will find "azOptions" and "azOptions360", which allow you to override configuration from [ajaxzoom plugin directory] /axZm/zoomConfig.inc.php related to frontend display. If we wanted to do the same as above over "azOptions360" plugin option (which is saved into the database), the result in your textarea would look like this:

Here, we do not need to define english, as the related JavaScript object will get extended by what you define in "azOptions360". The possibility number 2 above (writing into [ajaxzoom plugin directory] /zoomConfigCustomAZ.inc.php) is not applied then.

Changelog

Ver. 1.1.12
2018-06-29
Small adjustments and notes for the new AJAX-ZOOM (core files) "simpleMode" option and "Simple" license type.
Ver. 1.1.11
2018-05-05
  • Added configurable permission level variables for folders and files, where uploaded and cached images are stored at.
  • Fixed a possible PHP notice.
Ver. 1.1.10
2018-04-23
  • Added some WPML support. The change will allow not to upload same 360 for additional languages / posts, but show same 360 from default language.
Ver. 1.1.9
2018-03-28
  • Fixed possible PHP error when saving coupons in WooCommerce.
Ver. 1.1.8
2018-03-25
  • Fixed lic.php file, which could have caused server error on some server configurations.
Ver. 1.1.7
2018-02-21
  • Fixed a JS error on frontend for variable products for if there are no variation images at all.
Ver. 1.1.6
2018-01-23
  • Added an option, which allows to show 360 for variable products when no variation is selected.
Ver. 1.1.5
2018-01-21
  • Added plugin update notification and possibility to update the plugin from our repository.
  • Added possibility to backup currently installed plugin version.
  • Few UI changes.
Ver. 1.1.4
2018-01-15
  • Fixed a newly coded bug where the hotspot editor for 360 was not useable because of passing wrong path to it.
  • Added several checks while installation and if something goes wrong the errors with the hints about how to resolve them will be displayed after activation attempt. Also the plugin will deactivate itself in this case.
Ver. 1.1.3
2018-01-11
  • Improved sort order of the images, 360 and videos.
  • Fixed database version matching. So after overwriting plugin files there is no need to run installer any more.
Ver. 1.1.2
2018-01-09
Fixed a bug when saving posts which are not woo products. Bug was implemented in 1.1.1;
Ver. 1.1.1
2018-01-07
  • Removed some possible warnings when debug mode is enabled.
  • Few other minor bugfixes.
Ver. 1.1.0
2018-01-06
For update from previous versions - overwrite plugin files, update axZm directory, deactivate and activate plugin. Update /wp-content/plugins/ajaxzoom/axZm folder with core AJAX-ZOOM files.
  • YouTube, Vimeo, Dailymotion, mp4 - videos attachable to simple product and product variations
  • Clickable hotspots on all images -> main, gallery, ajaxzoom variations images, official WooCommerce Additional Variation Images plugin
  • Official WooCommerce Additional Variation Images plugin support on frontend
  • Individual plugin settings for any product (e.g. “axZmMode” option only for specified product)
  • UI backend improvements
  • Update for AJAX-ZOOM core files from within backend incuding backup for installed version
  • Short code for any type of media - 360 and images including hotspots and 360 product tour, short code for videos
Ver. 1.0.9
2017-10-26
Diverse bugfixes and new options. Tested with latest WP and Woo.
Ver. 1.0.8
2017-06-26
Fixed a possible error "can't use function return value in write context" in class.ajaxzoom.php
Ver. 1.0.7
2017-04-14
Support for WooCommerce 3.0; implemented new mouseover zoom (version 5); Created a widget in plugin settings to adjust / change AJAX-ZOOM injection into detail page (target container, additional css, js, options etc). With this widget it is 99.9% guarantied that AJAX-ZOOM can be adjusted to work with any theme.
For update from previous versions - overwrite plugin files, update axZm directory, deactivate and activate plugin. Navigate to plugin settings, select "reset" tab and reset settings.
Ver. 1.0.6
2016-09-05
Added missing DB table for individual deactivation.
Ver. 1.0.5
2016-09-04
Some improvements.
Ver. 1.0.4
2016-08-14
Added new hotspots editor.
Ver. 1.0.3
2016-06-08
Fixed bugs creating db table for variants images. Fixed 360 uploding problems on "localhost".
Ver. 1.0.2
2016-05-24
Several improvements and speed optimizations.
Ver. 1.0.1
2016-05-12
Added a tab where you can upload unlimited images for product variations. WooCommerce supports only one on default without additional plugins.
Ver. 1.0.0
2016-05-04
WooCommerce plugin released.

Comments (0)

Leave a Comment

Looking for a place to add a personal image? Visit www.gravatar.com to get Your own gravatar, a globally-recognized avatar. After you're all setup, your personal image will be attached every time you comment.

To use live-support-chat you will need to have Skype installed on your device.

In case live support over Skype is not immediately available please leave a message or send us an email over contact form at first.

Every AJAX-ZOOM related inquiry / question will be answered!

Live-Support-Chat