- PVSM.RU - https://www.pvsm.ru -
Под катом небольшая заметка о том как можно настроить правила для линтинга во встроенном редакторе кода WordPress.
Начиная с версии 4.9 в WordPress встроен редактор CodeMirror [1]. Он поддерживает подстветку синтаксиса для более 100 языков, а также имеет встроенный анализатор кода.
Итак, для изменения параметров нам поможет фильтр wp_code_editor_settings [2]
Первым параметром он принимает массив опций для редактора кода. В нем нас интересует лишь несколько свойств. Подробности см. в документации [2].
add_filter( 'wp_code_editor_settings', 'change_code_editor_settings');
function change_code_editor_settings( $settings ) {
/**
* Массив параметров передаваемых в codemirror
* @see https://codemirror.net/doc/manual.html#config
*/
$settings['codemirror']
/**
* Массив параметров для CSSLint
* @see https://github.com/CSSLint/csslint/wiki
*/
$settings['csslint']
/**
* Массив параметров для JSHint
* @see https://jshint.com/docs/options
*/
$settings['jshint']
/**
* Массив параметров для HTMLHint
* @see https://github.com/htmlhint/HTMLHint/wiki/Rules
*/
$settings['htmlhint']
return $settings;
}
Отключим проверку CSSLint оставив при этом подсветку синтаксиса. (Может быть полезно если вы используете в теме css переменные. #720 [3])
add_filter( 'wp_code_editor_settings', 'disable_csslint' );
function disable_csslint( $settings ){
if ($settings['codemirror']['mode'] === 'css') {
$settings['codemirror']['lint'] = false;
}
return $settings;
}
Зарегистрируем глобальную переменную.
add_filter( 'wp_code_editor_settings', 'change_code_editor_settings');
function change_code_editor_settings( $settings ) {
$settings['jshint']['globals']['axios'] = false // Глобальная переменная существует
$settings['jshint']['globals']['user_rates'] = true // Глобальная переменная существует и доступна для записи
return $settings;
}
Запретим использовать антибуты без значений
add_filter( 'wp_code_editor_settings', 'change_code_editor_settings');
function change_code_editor_settings( $settings ) {
$settings['htmlhint']['attr-value-not-empty'] = true
return $settings;
}
Автор: Kozack
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/wordpress/297426
Ссылки в тексте:
[1] CodeMirror: https://codemirror.net/
[2] wp_code_editor_settings: https://developer.wordpress.org/reference/hooks/wp_code_editor_settings/
[3] #720: https://github.com/CSSLint/csslint/issues/720
[4] Источник: https://habr.com/post/428135/?utm_campaign=428135
Нажмите здесь для печати.