WPML
Statut
Résolu par l’auteur
Extension/thème associé
Royal Elementor Addons
Étiquettes de sujet
Compatibility

Aperçu de l’anomalie

Les utilisateurs de l’extension Royal Elementor Addons peuvent rencontrer un message d’erreur de fonction obsolète lors de l’utilisation de versions de PHP 8.1 et supérieures :


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

Solution de contournement

Assurez-vous d’avoir une sauvegarde complète de votre site avant de continuer.


  • Ouvrez le fichier …/wp-content/plugins/royal-elementor-addons/classes/utilities.php.

  • Recherchez la ligne 396.

  • Remplacez :
    		// 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;
    		}

  • Par :
    		// 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

Toutes les anomalies connues →