WPML
סטטוס
נפתר על ידי המפתח
נפתר בגרסה
Bricks 2.3
תוסף/ערכת עיצוב קשורים
Bricks Theme

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

בעת שימוש ב־Bricks עם WPML, ייתכן שתיתקל בבעיה שבה פתיחת העורך של Bricks עבור שפת ברירת המחדל מפנה אל URL שגוי עם ספריית שפה נוספת, דבר הגורם לשגיאת 404. דבר זה עשוי לקרות כאשר WPML מוגדר לאפשרות השתמש בספרייה עבור שפת ברירת מחדל.

פתרון עוקף

פתרון עוקף 1


תיקון קל (ללא קוד)

  • עבור אל Bricks > הגדרות > Builder

  • הגדר את שפת ה־Builder ל־”Site Default” ושמור

פתרון עוקף 2


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

  • הוסף את הקוד הבא לקובץ functions.php של ערכת העיצוב שלך.
    add_action( 'after_setup_theme', function () {
    	if ( ! defined( 'ICL_SITEPRESS_VERSION' ) || ! class_exists( 'BricksTheme' ) ) {
    		return;
    	}
    
    	$bricks = BricksTheme::instance();
    
    	// 1. Prevent Bricks from switching language
    	if ( ! empty( $bricks->wpml ) ) {
    		remove_action( 'bricks/builder/switch_locale', [ $bricks->wpml, 'switch_builder_languge' ] );
    	}
    
    	// 2. Instead switch UI locale
    	add_action( 'bricks/builder/switch_locale', function ( $locale ) {
    		if ( empty( $locale ) || empty( $_GET['bricks'] ) || $_GET['bricks'] !== 'run' ) {
    			return;
    		}
    
    		// prevent memory exhausion I got on my sandbox
    		static $lock = false;
    		if ( $lock ) {
    			return;
    		}
    		$lock = true;
    
    		try {
    			// Switch UI locale
    			switch_to_locale( $locale );
    			// Reload Bricks theme textdomain 
    			unload_textdomain( 'bricks' );
    			load_theme_textdomain( 'bricks', get_template_directory() . '/languages' );
    		} finally {
    			$lock = false;
    		}
    
    	}, 5, 1 );
    
    }, 20 );
            

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