WPML
Estado
Resuelto
Resuelto en
WPML 4.7.6
Plugin/tema relacionado
Elementor
Etiquetas de temática
Compatibility

Resumen del problema

Con la configuración avanzada del widget de Elementor Pro, puede añadir Condiciones de visualización, por ejemplo, para mostrar un widget solo si el usuario ha iniciado sesión.

Recientemente algo cambió en la forma en que Elementor almacena estos datos, y puede provocar el siguiente error:

PHP Fatal error:  Uncaught TypeError: Cannot access offset of type string on string in .../wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Integrations/Elementor/Hooks/DisplayConditions.php:138

Solución alternativa

Actualizaremos nuestro código para manejar este cambio en el almacenamiento de datos de Elementor. Mientras tanto, puede editar este archivo del plugin: wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Integrations/Elementor/Hooks/DisplayConditions.php

Localice la función convertConditionIds (a partir de la línea 134 en la versión actual) y reemplácela con el siguiente código:

	private function convertConditionIds( array $conditionGroups ) {

		// ensure $conditionGroups is an array of arrays and not just an associative array
		$result = array_keys($conditionGroups)[0] !== 0 ? array($conditionGroups) : $conditionGroups;

		foreach ( $result as $key => $conditionGroup ) {
			$configForCondition = $this->getConfigForCondition( $conditionGroup['condition'] );

			if ( $configForCondition && isset( $conditionGroup[ $configForCondition['field'] ] ) ) {
				$result[ $key ] = $this->convertIdsForCondition( $conditionGroup, $configForCondition );
			}
		}

		return $result;
	}

Todos los problemas conocidos →