WPML
ステータス
解決済み
報告対象
WPML Multilingual CMS 4.6.8
解決されたバージョン
WPML 4.6.9
トピックタグ
Bug

問題の概要

「カスタムロール」(例えば「編集者」ロールに基づく「ショップマネージャー」など)を持つユーザーがいる場合、既存の翻訳を編集できません。

回避策

1. wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/wp/classes/User.phpの217行目で、\WPML\LIB\WP\User::isEditorメソッドを次のように変更します。

public static function isEditor(WP_User $user = null) {
$capability = "editor";
$capability = apply_filters('wpml_editor_capability', $capability );
return self::hasCap( $capability, $user );
}

2. テーマのfunctions.phpに次のコードを追加します。

add_filter('wpml_editor_capability', 'my_editor');
function my_editor(){
    $user = wp_get_current_user();
    if (in_array('second_custom_role', (array)$user->roles, true)){
        return 'second_custom_role';
    }
}

second_custom_roleの部分をカスタムロール名(この例ではshop_manager)に変更します。

すべての既知の問題 →