WPML
Estado
Resuelto por el autor
Plugin/tema relacionado
Royal Elementor Addons
Etiquetas de temática
Compatibility

Resumen del problema

Los usuarios del plugin Royal Elementor Addons pueden encontrar un mensaje de error de función obsoleta al utilizar las versiones más recientes de PHP 8.1 y superiores:


Deprecated: urldecode(): Passing null to parameter #1 ($string) of type string is deprecated in .../wp-includes/post.php on line 5864

Solución alternativa

Por favor, asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.


  • Abra el archivo …/wp-content/plugins/royal-elementor-addons/classes/utilities.php.

  • Busque la línea 396.

  • Reemplace:
    		// tmp remove after 2 months
    		$templates_loop = new \WP_Query([
    			'post_type' => 'wpr_templates',
    			'name' => $template,
    			'posts_per_page' => 1,
    		]);
    		
    		if ( ! $templates_loop->have_posts() ) {
    			if ( defined('ICL_LANGUAGE_CODE') ) {
    				$original_post = get_page_by_path($template, OBJECT, 'wpr_templates');
    				if ( $original_post ) {
    					$original_post_id = $original_post->ID;
    					$language_code = ICL_LANGUAGE_CODE;
    				
    					$translated_post_id = icl_object_id($original_post_id, 'wpr_templates', false, $language_code);
    					
    					if ( $translated_post_id ) {
    						$translated_post = get_post($translated_post_id);
    						$translated_slug = $translated_post->post_name;
    					
    						if ( $translated_slug ) {
    							$template = $translated_slug;
    						} else {
    							$template = null;
    						}
    					}
    				}
    			} else {
    				$template = null;
    			}
    		} else {
    			$template = $template;
    		}

  • Por:
    		// Ensure template is not null or empty before querying the database
    		// compsupp-7576 fix
    		if (!empty($template)) {		
    			// tmp remove after 2 months
    			$templates_loop = new \WP_Query([
    				'post_type' => 'wpr_templates',
    				'name' => $template,
    				'posts_per_page' => 1,
    			]);
    			
    			if ( ! $templates_loop->have_posts() ) {
    				if ( defined('ICL_LANGUAGE_CODE') ) {
    					$original_post = get_page_by_path($template, OBJECT, 'wpr_templates');
    					if ( $original_post ) {
    						$original_post_id = $original_post->ID;
    						$language_code = ICL_LANGUAGE_CODE;
    					
    						$translated_post_id = icl_object_id($original_post_id, 'wpr_templates', false, $language_code);
    						
    						if ( $translated_post_id ) {
    							$translated_post = get_post($translated_post_id);
    							$translated_slug = $translated_post->post_name;
    						
    							if ( $translated_slug ) {
    								$template = $translated_slug;
    							} else {
    								$template = null;
    							}
    						}
    					}
    				} else {
    					$template = null;
    				}
    			} else {
    				$template = $template;
    			}
    
    		} // compsupp-7576 fix

Todos los problemas conocidos →