WPML
الحالة
مفتوحة
أُبلغ عنها لـ
WPML Multilingual CMS 4.6.11
وسوم الموضوع
Bug

نظرة عامة على المشكلة

إذا كنت تستخدم كتلة Gutenberg لمبدل اللغة وخيار النقر على القائمة المنسدلة الخاص بها، فستلاحظ أنه عند النقر خارج منطقة القائمة المنسدلة، لن تُغلق كما هو متوقع.

حل بديل مؤقت

يُرجى التأكد من وجود نسخة احتياطية كاملة لموقعك قبل المتابعة.


  • افتح الملف …/wp-content/plugins/sitepress-multilingual-cms/classes/block-editor/Blocks/LanguageSwitcher/Render.php.

  • ابحث عن السطر 123.

  • استبدل:
    				if ( $dpFirstItem ) {
    					$dpFirstItem->setAttribute(
    						'onclick',
    						"(()=>{const ariaExpanded = this.children[0].getAttribute('aria-expanded');
    					this.children[0].setAttribute('aria-expanded', ariaExpanded === 'true' ? 'false' : 'true');})(this);"
    					);
    				}

  • بـ:
    if ($dpFirstItem) {
        $dpFirstItem->setAttribute(
            'onclick',
            "(()=>{
                const ariaExpanded = this.children[0].getAttribute('aria-expanded');
                this.children[0].setAttribute('aria-expanded', ariaExpanded === 'true' ? 'false' : 'true');
                
                if (ariaExpanded !== 'true') {
                    const expandedItem = this;
                    const closeExpandedItem = (event) => {
                        if (!expandedItem.contains(event.target)) {
                            expandedItem.children[0].setAttribute('aria-expanded', 'false');
                            document.removeEventListener('click', closeExpandedItem);
                        }
                    };
                    document.addEventListener('click', closeExpandedItem);
                }
            })(this);"
        );
    }

جميع المشاكل المعروفة →