WPML
ステータス
未解決
報告対象
WPML String Translation 3.2.8
トピックタグ
Bug

問題の概要

WPML > テーマとプラグインのローカライズページでは、Must-Use (MU) プラグインの文字列のスキャンは利用できません。

回避策

続行する前に、サイトの完全なバックアップを取得していることを確認してください。


  • …/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;
    }

すべての既知の問題 →