Resolved by author
Overview of the issue
If you are using the Themify theme with WPML 4.5.0, you will see an error message on the front-end toolbar when you open the homepage: “Builder is not available on this page. Turn On Builder”
You will also see the following PHP error:
Fatal error: Uncaught Error: Cannot use object of type Closure as array in …/wp-content/themes/themify-ultra/themify/themify-template-tags.php:1824 Stack trace: #0 …/wp-content/themes/themify-ultra/header.php(120): themify_menu_nav() #1 …/wp-includes/template.php(770): require_once(‘/var/www/sites/…’) #2 …/wp-includes/template.php(716): load_template() #3 …/wp-includes/general-template.php(48): locate_template() #4 …/wp-content/themes/themify-ultra/index.php(8): get_header() #5 …/wp-includes/template.php(772): require(‘/var/www/sites/…’) #6 …/wp-includes/template.php(716): load_template() #7 …/wp-includes/general-template.php(204): locate_template() #8 …/wp-content/themes/themify-ultra/page.php(4): get_template_part() #9 /var/www/sites/sepia-m in …/wp-content/themes/themify-ultra/themify/themify-template-tags.php on line 1824
Workaround
Please, make a full backup of your site before proceeding.
- Open this file: /wp-content/themes/themify-ultra/themify/themify-template-tags.php.
- Look for line 1824.
- Replace this line:
if ( is_a( $filter['function'][0], 'WPML_LS_Render' ) ) {
- With:
if ( is_array( $filter['function'] ) && is_a( $filter['function'][0], 'WPML_LS_Render' ) ) {