Okay
  Public Ticket #1004400
Bug Report
Closed

Comments

  •  2
    andrewryantech started the conversation

    Issue: Testimonial Slider not rendering in Page Builder
    Salient Version: 7.6
    Salient Visual Composer Version: 4.12.1
    with WP_DEBUG = true.
    PHP = 7.0
    Please see attached image. The column contains a testimonial slider but it is not rendered.
    debug.log contained the following relevant entry:

    [30-Dec-2016 15:23:04 UTC] PHP Notice: Array to string conversion in .../httpdocs/wordpress/wp-content/plugins/js_composer_salient/include/classes/shortcodes/vc-tabs.php on line 180

    This line had a double $ char prefixed to a variable (ie a variable variable), specifically:

    $$param['param_name']

    I think this is an issue with php 7 (http://php.net/manual/en/language.variables.variable.php). I think it should be disambiguated as:

    ${$param['param_name']}


    With this change, PageBuilder view resumed working. Not sure if it's correct fix.

    Regards,

    Andy

  •  9,005
    Tahir replied

    Hey Andrew, 

    Thanks for reporting this. Will look into it for the upcoming update

    Be.st


    ThemeNectar Support Team 

  •  2
    andrewryantech replied

    Hi Tahir.

    It appears this has not been fixed as of Version 8.0.

    I note that the author of Visual Composer has fixed this in 5.1. The line I mentioned now reads:
    $param_value = isset( ${$param['param_name']} ) ? ${$param['param_name']} : '';

    I believe the change log (https://wpbakery.atlassian.net/wiki/display/VC/Release+Notes) for Visual Composer indicates 5.1 specifies this as "Fix: php 7.1 compatibility issues".

    This bug will affect all users running PHP 7+ with WP_DEBUG set to TRUE.

    Could you please consider updating the following files in salient theme (Salient Version 8.0)
    /nectar/nectar-vc-addons/nectar-addons.php line 1562
    /nectar/nectar-vc-addons/nectar-addons-no-lean.php line 1374

    from:

    $param_value = isset($$param['param_name']) ? $$param['param_name'] : '';

    to:

    $param_value = isset(${$param['param_name']}) ? ${$param['param_name']} : '';


    Could you please consider updating your Salient Visual Composer to include the new fix, or manually fix the following lines in Salient Visual Composer 5.0.1: There are 38 matches in the following 4 files:

    js_composer_salient/include/classes/shortcodes/vc-accordion-tab.php
    js_composer_salient/include/classes/shortcodes/vc-tabs.php
    js_composer_salient/include/classes/shortcodes/vc-column.php
    js_composer_salient/include/classes/shortcodes/vc-accordion.php

    Thanks