WPML
סטטוס
נפתר על ידי המפתח
תוסף/ערכת עיצוב קשורים
Royal Elementor Addons
תגיות נושא
Compatibility

סקירה כללית של התקלה

משתמשי התוסף Royal Elementor Addons עלולים להיתקל בהודעת שגיאה על פונקציה מיושנת בעת הפעלה על גרסאות PHP 8.1 חדשות יותר ומעלה:


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

פתרון עוקף

אנא ודא שיש לך גיבוי מלא של האתר לפני שתמשיך.


  • פתח את הקובץ …/wp-content/plugins/royal-elementor-addons/classes/utilities.php.

  • חפש את שורה 396.

  • החלף:
    		// 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;
    		}

  • בקוד הבא:
    		// 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

כל התקלות הידועות →