Changeset 3462432
- Timestamp:
- 02/16/2026 11:20:49 AM (5 days ago)
- File:
-
- 1 edited
-
ai-translate/trunk/ai-translate.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ai-translate/trunk/ai-translate.php
r3461910 r3462432 6 6 * Author: NetCare 7 7 * Author URI: https://netcare.nl/ 8 * Version: 2.2. 78 * Version: 2.2.8 9 9 * Requires at least: 5.0 10 10 * Tested up to: 6.9 … … 3047 3047 function initLanguageSwitcherReplacement() { 3048 3048 3049 // Find language switcher menu items (links with href="#" containing "Language Switcher") 3050 const languageItems = document.querySelectorAll('a[href="#"]'); 3051 3052 languageItems.forEach(function(link, index) { 3053 if (link.textContent.trim() === 'Language Switcher') { 3054 const listItem = link.closest('li'); 3055 if (listItem) { 3056 // Replace the entire menu item 3057 listItem.outerHTML = <?php echo json_encode($replacement_html); ?>; 3058 } 3049 // Find language switcher items by stable classes/object markers (not translated text). 3050 const candidates = document.querySelectorAll( 3051 'li.menu-item-language-switcher > a[href="#"], li[class*="menu-item-object-ai_language_switcher"] > a[href="#"], a.ai-menu-language-current[href="#"]' 3052 ); 3053 3054 candidates.forEach(function(link) { 3055 const listItem = link.closest('li'); 3056 if (!listItem) { 3057 return; 3058 } 3059 // Replace only when not already rendered with a submenu. 3060 if (!listItem.querySelector('.sub-menu') || !listItem.classList.contains('menu-item-language-switcher')) { 3061 listItem.outerHTML = <?php echo json_encode($replacement_html); ?>; 3059 3062 } 3060 3063 }); 3061 3064 3062 // Also check for items that might have been created differently 3063 const allMenuItems = document.querySelectorAll('li.menu-item a[href="#"]'); 3064 3065 allMenuItems.forEach(function(link, index) { 3066 if (link.textContent.includes('NL') && link.querySelector('img')) { 3067 // This looks like our language switcher, make sure it has submenu 3068 const listItem = link.closest('li'); 3069 if (listItem && !listItem.querySelector('.sub-menu')) { 3070 // Add submenu if missing 3071 const submenu = <?php echo json_encode($submenu_html); ?>; 3072 listItem.insertAdjacentHTML('beforeend', submenu); 3073 listItem.classList.add('menu-item-has-children'); 3074 } 3065 // Safety net: if a language-switcher container exists without submenu, append it. 3066 const switcherItems = document.querySelectorAll('li.menu-item-language-switcher'); 3067 switcherItems.forEach(function(listItem) { 3068 if (!listItem.querySelector('.sub-menu')) { 3069 listItem.insertAdjacentHTML('beforeend', <?php echo json_encode($submenu_html); ?>); 3070 listItem.classList.add('menu-item-has-children'); 3075 3071 } 3076 3072 });
Note: See TracChangeset
for help on using the changeset viewer.