WPML
Статус
Открыто
Заявлено для
WPML String Translation 3.2.8
Теги темы
Bug

Обзор проблемы

Обязательные (MU) плагины недоступны для сканирования строк на странице WPML > Локализация тем и плагинов.

Обходное решение

Пожалуйста, перед продолжением убедитесь, что у Вас есть полная резервная копия Вашего сайта.


  • Откройте файл …/wp-content/plugins/wpml-string-translation/classes/menus/theme-plugin-localization-ui/class-st-plugin-localization-ui-utils.php.

  • Найдите строку 6.

  • Замените:
    	/** @return array */
    	public function get_plugins() {
    		$plugins    = get_plugins();
    		$mu_plugins = wp_get_mu_plugins();
    
    		if ( $mu_plugins ) {
    			foreach ( $mu_plugins as $p ) {
    				$plugin_file             = basename( $p );
    				$plugins[ $plugin_file ] = array( 'Name' => 'MU :: ' . $plugin_file );
    			}
    		}
    
    		return $plugins;
    	}

  • На:
    public function get_plugins() {
    	$plugins = get_plugins();
    	$mu_plugins = wp_get_mu_plugins();
    
    	if ( $mu_plugins ) {
    		foreach ( $mu_plugins as $p ) {
    			$plugin_file = basename( $p );
    			$plugins[ $plugin_file ] = array( 'Name' => 'MU :: ' . $plugin_file );
    		}
    
    		//Workaround
    		$folders = scandir(WPMU_PLUGIN_DIR);
    		$folders = array_diff($folders, array('.', '..'));
    		
    		foreach($folders as $folder) {
    			if (is_dir(WPMU_PLUGIN_DIR.'/'.$folder)) {
    				$plugin_file = basename( $folder );
    				$plugins[ $plugin_file ] = array( 'Name' => 'MU :: ' . $plugin_file );
    			}
    		}
    	}
    
    	return $plugins;
    }

Все известные проблемы →