Add Support for Woo Layout Injector DIVI

Add the following code to your theme functions.php.

function sb_et_woo_li_theme_setup2()
    if (class_exists('ET_Builder_Module')) {
        class sb_et_woo_svi_li_gallery_module extends ET_Builder_Module
            function init()
                $this->name = __('SVI Product Image', 'et_builder');
                $this->slug = 'et_pb_woo_product_image_svi';

            function shortcode_callback($atts, $content = null, $function_name)

                global $post;

                if (is_admin()) {

                $svi = new woocommerce_svi_frontend();
                $output = ob_get_clean();

                return $output;

        new sb_et_woo_svi_li_gallery_module();

add_action('et_builder_ready', 'sb_et_woo_li_theme_setup2', 11);

This will create a new Widget that can be included into the design layout. Widget called “SVI Product Image”.


Add support for YumeCommerce Advanced Page Builder

I don’t officially offer support on UX builders, but I have found out that for YumeCommerce Advanced this snippet may work.

Add the following code to your theme/functions.php (I always encourage the usage of child themes).

add_filter('wc_get_template', 'svi_get_template', 10, 5); // This will replace the image of the plugin

function svi_get_template($located, $template_name, $args, $template_path, $default_path) {
    if ('single-product/product-image.php' == $template_name) {
        $located = WP_PLUGIN_DIR . '/smart-variations-images-pro/frontend/display.php';

    return $located;


Add support for WooCommerce Single Product Page Builder

I don’t officially offer support on UX builders, but I have found out that for WooCommerce Single Product Page Builder this snippet may work.

Add the following code to your theme/functions.php (I always encourage the usage of child themes).

add_action('template_redirect', 'svi_dhvc_woo_shortcodes_remove');

function svi_dhvc_woo_shortcodes_remove() {

    add_shortcode('dhvc_woo_product_page_images', 'svi_add_single_product_summary');

function svi_add_single_product_summary() {
    $svi = new woocommerce_svi_frontend();
    return ob_get_clean();


Attributes disappearing


It may be the case that you are using an old version of ACF PRO lower than 5.5.8. ACF  had an issue with the select2 of WooCommerce, this was fixed in version 5.5.8

You can check: https://www.advancedcustomfields.com/changelog/ I highlight it below.


  • Flexible Content: Added logic to better ‘clean up’ data when re-ordering layouts
  • oEmbed field: Fixed bug causing incorrect width and height settings in embed HTML
  • Core: Fixed bug causing incorrect Select2 CSS version loading for WooCommerce 2.7
  • Core: Fixed bug preventing ‘min-height’ style being applied to floating width fields
  • Core: Added new JS ‘init’ actions for wysiwyg, date, datetime, time and select2 fields
  • Core: Minor fixes and improvements

If you update to the latest version this should be fixed.

WPML since version 4?

Go to your theme/functions.php and add the following code:

add_action('admin_enqueue_scripts', 'svi_unload_wpml',150);
function svi_unload_wpml(){
   $screen = get_current_screen();
   if ($screen->post_type == 'product') {

This code will remove WPML select2 file that is causing this conflict. Also I see no use for this file to be called on the product page. So I believe to be safe the removal.

cURL error Failed to connect to rosendo.pt port 443: Connection refused

Your IP/domain is not blocked in my servers, so, the error that you faced is related with connection block on the current hosting provider.

By the error:
[0] => cURL error 7: Failed to connect to rosendo.pt port 443: Connection refused

Your PHP application is not allowed to comunicate to port 443 or 80 to external addresses. You should check with your current provider the response of the following commands:

curl -vvvvv rosendo.pt


openssl s_client -connect rosendo.pt:443 -tls1

This two commands must return information. The first, the output of HTML headers plus website and the second, the information of rosendo.pt SSL Certificate. They will help you to solve this.


Multisite support

On file located at plugins/smart-variations-images-pro/svipro.php

Replace function is_woocommerce_active() with:


         * is_woocommerce_active - Check if WooCommerce is active.
         * @return  bool
        function is_woocommerce_active() {
            $active_plugins = ( is_multisite() ) ?
                    array_keys(get_site_option('active_sitewide_plugins', array())) :
                    apply_filters('active_plugins', get_option('active_plugins', array()));
            foreach ($active_plugins as $active_plugin) {
                $active_plugin = explode('/', $active_plugin);
                if (isset($active_plugin[1]) && 'woocommerce.php' === $active_plugin[1]) {
                    return true;
            return false;

Licence after 1 year

After one year the plugin will continue to work, but if you don’t renew the license you will no longer receive any future updates or support.


Fixing Blurry images and Dimensions

WooCommerce has a great documentation on how to solve this issue, I advise the carefull reading of this page.

This will help you fix the correct image dimensions for your page has fix the blurry images.

Fixing Blurry Product Images

Using Toolset Layouts Framework API and images don’t show

If your theme uses Toolset to WooCommerce Views to designs the product page, then you must follow this steps.

  1. .woocommerce-product-gallery{display:none!important;} //add a custom CSS to hide the toolset images
  2. As recomended by Toolset (wp-types.com/documentation/user-guides/views-shortcodes/#wpv-woo-product-image), “enable_third_party_filters” has to be set to “yes”
  3. On my plugin (class-svi-frontend.php), replace the add_action priority to 19 instead of 20. add_action(‘woocommerce_before_single_product_summary’, array($this, ‘show_product_images’), 19);

Adding CDN support

You can use the following snippet and adjust to your needs in order to allow the images to be laoded via your CDN.
Insert this code on to your theme functions.php

function cdn_image_url($url)
$types = ["gif", "png", "jpg"];
$type = substr($url, -3);
if(in_array($type, $types)) {
$site = get_site_url();
$cdn = "{Insert cdn url here}";
$url = str_replace($site, $cdn, $url);
return $url;
add_filter ('wp_get_attachment_url', 'cdn_image_url');

Double Gallery on Mobile

Your theme may have a special design for mobile, add this custom CSS to you customizer settings or your style.css of your theme (Apperance > Costumize > Additional CSS or any other place available on the customize to insert custom CSS).


Gallery not showing on product page

This may occur if your theme is missing the proper WooCommerce hooks.

Add the following function to your theme functions.php file:

if (!function_exists('woocommerce_show_product_images')) {
* Output the product image before the single product summary.
* @subpackage Product
function woocommerce_show_product_images() {

* woocommerce_before_single_product_summary hook
* @hooked woocommerce_show_product_sale_flash - 10
* @hooked woocommerce_show_product_images - 20

Using DIVI, try this instead:

remove_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_images', 20 );

Hide loader Elements

Sometimes you may wish to hide or replace my loading bar.

To hide them you will need to add some custom CSS, you can add it directly to your style.css or go to Appearance > Customize > Additional CSS:

Remove unwanted lines:

.sivmainloader, //big initial loader
.sviLoader, // small rotating circles with ImageZoom
.sviLoader_thumb // small rotating circles
display: none!important;
visibility: hidden!important;

For the image loading 0.5 fade:

div#woosvimain .swiper-slide-active img, div#woosvimain>img{opacity:1!important}


SVI manual Import

If you wish to do a multiple import, this is not an easy task and requires some PHP skills.

The pairing is done via a update_post_meta, on a last case scenario, use a custom code:


First, create the following array struture:

$array = array
 '123' /* POST ID */ => array(
  'black_svipro_xs' /* variation combination black + xs. “_svipro_” is the merger */ => '23,22,21,20,19', /* Image IDS can be repeated across products & variations */
  'black' /* variation slug */ => '61,60,51,50',
  'blue' => '52,53,63,62'

Second step is to order the array for save (Of course you can skip step 1 if you know how to setup the array):

$ordered = array();
foreach ($array as $post_id => $variations) {
 foreach ($variations as $variation => $img_ids) {
  $array_key = explode(',', $img_ids);

  foreach ($array_key as $k => $v) {
   $ordered[$post_id][$v][] = explode('_svipro_', $key);

Third step is saving the information:

foreach ($ordered as $post_id => $imgs_id) {
 foreach ($imgs_id as $id => $value) {
  update_post_meta($id, 'woosvi_slug_' . $post_id, $value);

No support is giving about importing. This is just a guide.

Installing Plugins

Here goes the steps to install the plugin correctly:

  • After you purchase the plugin and download, you should install it as any other plugin.
  • Install ReduxFramework (There should show be a notice informing you of this) if you don’t already have it installed.
  • Go to WooCommerce > SVI PRO and activate the product with the license (sent in email), after correct validation you can customize the plugin options on this same page.

For setting up the products to work with SVI you should have some knowledge of WooCommerce product creation, from there you can follow this example.



Change Image Positions

The re-ordering of images related to galleries created in the SVI Variations Gallery can be set in the WooCommerce product gallery easily via drag and drop. Simply re-order your images by moving them around.


How setup multiple images p/ variation

In order to see SVI PRO working you need to setup the combinations you want to show, check the image below on how to setup:



You cannot build SVI galleries with attributes of the same group, since there will not be any such combination on the front-end drop downs. For example I you have a gallery built like:

Black + Blue + XL + 12

This means you are expecting the user to select a Color that is Black & Blue (at the same time) & XL & 12, this is not a “OR” condition but an “AND”…

The correct way would be to build 2 galleries, one for the Black another for the Blue:

  1. Black + XL + 12
  2. Blue + XL + 12

Basically you just have to build the SVI gallery for the attribute you want a change to happen, you don’t need to build SVI Galleries with all attributes.

I only build SVI galleries like the above if I want specific image change for that match.

In this case I could just build a 2 galleries based on the color since the other attributes are the same or indifferent for the case. Ex:

  1. Black
  2. Blue

You can build as much galleries as you want and mix the combinations, just keep in mind not to mix in attributes of the same group.


Manually clean license from site

In some cases users may need to clean/delete the license for migration purposes. In those cases use the following code in your functions.php.


After page refresh visit the SVI setting page (WooCommerce > SVI PRO), if system is requesting the license validation again then you can remove the above code from the functions.php.

Fatal error: Call to undefined function boolval()

If you are seing this message then is because you are the PHP version you are running is lower than 5.6.

Please change your PHP version to at least 5.6.

See minimum requirements page.


In order to debug for incompatibility please try the following steps:

  1. Backup your site, I advise the usage of UpdraftPlus so that you can easily restore the DB to the previous state once discovered the issue.
  2. Deactivate all plugins, except WooCommerce and Smart Variations Images PRO and test the system.
  3. If if works then start activating the other plugins one by one until the issue returns, that way you know what plugin is causing the issue (maybe plugin is not updated or not compatible with WooCommerce)
  4. Does your system have the minimum requirements?
  5. Please check the Common Errors.
  6. In extreme cases try changing the theme.
    1. If is theme related please open ticket so that I can further investigate, please allow me to access your system (both the WordPress dashboard and your back-end via FTP).

Common Errors

Here goes a compiled list of errors normally checked and solve 90% of issues and that you may debug before opening a ticket.

  1. Verify that your system is updated and running the minimum requirements.
  2. Check that your theme is compatible with the current WooCommerce in use on your website.
  3. Check if your theme has updates.
  4. Check that all plugins are updated


If all of the above options dont solve your issue then we can start the Debug process before opening a ticket.

Minimum requirements

You must ensure that your environment meets the following minimum conditions:

  • PHP 5.6.30 or later
  • WordPress 4.0 or later
  • ReduxFramework plugin Installed

Cannot activate license

Did you previously activate the license in another domain?


  • You can manage your license on my orders page here. Release your old site to be able to use the key in on new site.
  • MENU: Login > My Account > Orders > License Manage

If this is your first license activation try the following solutions:

  1. Try changing the default language user profile to English and try activating. Then change back to the desired language.
  2. Try changing the default language of WordPress to English and try activating. Then change back to the desired language.


When you purchase my products you are granted immediate access to them INCLUDING THE FULL SOURCE CODE.  This means that it is impossible for me to process a true return the way you can with a physical product. When I issue a refund it means that you have effectively obtained my products for free.  Thus, to prevent abuse I have adopted a strict no refund policy. The digital products are not refundable.

If the purchaser encounters any issue in the use of the products, he can contact the support at rosendo.pt.

You must allow me to try and help solve any problem you have by opening a support ticket. You must work with me in good faith to allow me to resolve the issue for you.  This means that you must cooperate with me when I ask you to activate and deactivate plugins and themes, turn on debugging to generate log files, retrieve and send me log files, communicate with your hosting provider when I request you to do so and allow me to access your system (both the WordPress dashboard and your back-end via FTP) if I feel the need to be more hands-on to trouble-shoot the issue.

NOTE: No refunds will be granted if you simply decide not to use the purchased products or you feel a feature is missing. I stand behind my products and will assist you in solving any problem you have, but I also expect you to adequately understand what you are purchasing and why.  Before finalizing your purchase make sure you read the entire product description and any documentation available my website – this will allow you to better understand the product you are purchasing. I encourage buyers to use the free version (latest version available) before buying. If the purchaser encounters any issue in the use of the products, he can contact the support at www.rosendo.pt

No Refunds will also NOT be offered if your environment is not running the minimum versions of PHP, WordPress and un-registred licenses keys, if detected all support will be lost.