My issue is resolved (by us, not by you), but I am very angry and I want you to understand why, and provide a proper response.
We have been using Toolset for a very long time - probably since 2011. We have built our entire business around the many capabilities it gives us. Many of our projects predate the 'Views wrapper div' functionality.
With over 150 live sites using Toolset, we have known for some time that this functionality broke some of our sites. We have reported it many times. The only sure solution was to avoid upgrading Views on the affected sites. But this is not a good solution, as upgrading WordPress to recent versions also stops the _older_ versions of Views working properly. And not upgrading WordPress is insecure and bad practice.
So your reply to this ticket, instead of offering a solution, offers a giant shrug, and I feel like you don't actually care that this feature - WHICH WE DON'T EVEN USE - is causing us problems and stopping us from making our clients happy.
It has to make me question whether WP-Types is really committed to providing good long-term support to its Toolset for Life customers, and not making our lives hell by rolling out new features without proper regression testing.
Now, by pulling one of my developer colleagues off another project, we were able to modify your code to only target specific Views, and I am pleased to provide this code here for other users.
/**
* Naked Views output with no wrapper divs - SPECIFY WHICH VIEWS TO TARGET
*/
add_filter( 'wpv_filter_wpv_view_shortcode_output', 'prefix_naked_view_output', 5, 2 );
function prefix_naked_view_output( $out, $view_id ) {
$views_to_target = array(599,3948,3026;// replace with your own comma separated list of View IDs
if ( in_array($view_id, $views_to_target)) { // add test for View ID
$start = strpos( $out, '<!-- wpv-loop-start -->' );
if ( $start !== false
&&
strrpos( $out, '<!-- wpv-loop-end -->', $start ) !== false ) {
$start = $start + strlen( '<!-- wpv-loop-start -->' );
$out = substr( $out , $start );
$end = strrpos( $out, '<!-- wpv-loop-end -->' );
$out = substr( $out, 0, $end );
}
}
return $out;
}
Which makes me wonder, why couldn't you have done that?
Please, improve your attitude to maintaining long-term backwards compatibility, or I will seriously consider looking at alternative development approaches for new projects.
I would appreciate a response from the most senior person who cares to provide it.